Skip to content

Conversation

@gatesn
Copy link
Contributor

@gatesn gatesn commented Sep 15, 2025

Note, there are some regressions in DuckDB NVMe queries that use dynamic filtering. I would like to fix these in a FLUP since they may impact all scans (incl DataFusion).

FLUPs:

  • Fix dynamic filtering in DuckDB scans
  • Move each language API over to a CurrentThreadRuntime with a configurable number of background worker threads.

Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
@gatesn gatesn added the action/benchmark Trigger full benchmarks to run on this PR label Sep 16, 2025
@github-actions github-actions bot removed the action/benchmark Trigger full benchmarks to run on this PR label Sep 16, 2025
@gatesn gatesn requested a review from onursatici September 16, 2025 10:12
@onursatici onursatici added the action/benchmark Trigger full benchmarks to run on this PR label Sep 16, 2025
@github-actions github-actions bot removed the action/benchmark Trigger full benchmarks to run on this PR label Sep 16, 2025
// **WARNING begin this includes duckdb-rs, which is required to link in the symbol from libduckdb-sys.
use tokio::runtime;
use tokio::runtime::Runtime;
// **WARNING end
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// **WARNING end

@onursatici
Copy link
Contributor

Just so I understand, the slowdown in duckdb comes from missing work stealing that we have to bring back in the different form under new runtime?

Because the same iterator is shared among all worker threads that use the same current thread runtime, there is now one queue for tasks that all threads poll from

@gatesn gatesn merged commit 156a94f into develop Sep 16, 2025
65 checks passed
@gatesn gatesn deleted the ngates/scan-handles branch September 16, 2025 11:44
@robert3005
Copy link
Contributor

Looks like recent commits made the slowdown go away and we have some nice improvements as well!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/feature A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants