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)
- Enhance WindowFuzzer to support k-range and k-rows frames with column boundary HOT 5
- Build issue with ABFS adapter HOT 2
- Velox write to ABFS storage fail with FileSink is not registered issue
- Add background daemon in Velox runtime for periodic runtime metric reporting HOT 3
- ‘FOLLY_MAYBE_UNUSED’ does not name a type
- Add Long Divide Spark function
- CI 'Ubuntu debug with resolve_dependency' is failing with The repository '...ubuntu/22.04...' is no longer signed HOT 2
- Native worker segmentation fault on makeExprSetFromFlag HOT 2
- date_format returns wrong results in Spark
- Parquet reading failed to decompress LZO files
- Failure in Fuzzer Jobs / Build (pull_request) HOT 3
- Add support for GenericViews in ContainerRowSerde HOT 2
- Support Spark Generate with outer HOT 8
- Extend Simple Function API to allow reporting errors without throwing HOT 9
- Velox can't open the ORC files created by spark-sql HOT 6
- Free uninitialized variable-width key column in abandon partial agg mode. HOT 3
- Query execution tracing and replay tool HOT 3
- Make evaluateOnce() work with extended types
- Complete tpch q2, q4 and q11 in TPC-H micro benchmark suite HOT 2
- ParquetReader needs to implement columnStatistics()
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.