Comments (3)
Hi @yvxiang,
thank you for the questions.
(1) coroutines are available only in C++ 20, but Velox requires only C++ 17.
(2) we want to allow for early termination by operators like Limit and Hash Join. Limit doesn't need to receive all its input before producing full output. As soon as it has seen N rows, it is done. Similarly, Hash Join can finish early if build side turns out to be empty. We also would like to allow for the downstream operators to apply back pressure and prevent production of too much data. The design there processing id driven by demand from the downstream operators satisfies these requirements.
Hope this helps. Let me know if I misunderstood your questions, my responses are not clear or you have follow-up questions.
from velox.
OK,any plan to use coroutines in the future?
from velox.
At the moment, Velox requires only C++ 17 to build. Coroutines are available only in C++ 20. To use them, we'll need to upgrade the requirement to C++ 20.
from velox.
Related Issues (20)
- Flaky test: SharedArbitrationTest.skipNonReclaimableTaskTest HOT 2
- Wrong result while Iceberg table read with Positional Delete HOT 2
- Velox parquet scan fail when select row index column before data column HOT 2
- Move to Centos9 Stream as Centos8 Stream is going EOL 2024-05-31 HOT 2
- Support Oniguruma-based regex functions. HOT 1
- TIMESTAMP type cannot represent seconds representable in Spark HOT 4
- Optimize try_cast(varchar as date/timestamp)
- Refactor DateTimeFormatter::parse to return velox::Expected HOT 3
- Create a NOTICE file
- Parquet PageReader incorrectly skips rep/def levels when the max values are 0
- Print stack trace on fuzzer crashes in CI
- velox_test_util is being used in non-test targets HOT 5
- Folly F14Table.h rehashImpl Assertion failure HOT 2
- S3FileSystemRegistrationTest.cpp:69:56: error: no matching function HOT 5
- Row index column can't work as expected if no data column been selected HOT 2
- Arrow third-party compilation not passing CMAKE_PREFIX_PATH
- scalar-functions doc examples use not exist method : DecodedVector::values HOT 2
- Spark input_file_name design HOT 15
- Unit tests S3FileSystemTest.viaRegistry and S3FileSystemTest.fileHandle are failing at merge time. HOT 4
- HashJoinTest.failedToReclaimFromHashJoinBuildersInNonReclaimableSection is flaky HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from velox.