Closed colin-ho closed 3 weeks ago
π Deployed on https://deploy-preview-3178--daft-docs-preview.netlify.app
Comparing colin/native-runner
(485132b) with main
(2b71ffb)
β‘ 3
improvements
β 1
regressions
β
13
untouched benchmarks
:warning: Please fix the performance issues or acknowledge them on CodSpeed.
Benchmark | main |
colin/native-runner |
Change | |
---|---|---|---|---|
β‘ | test_count[1 Small File] |
4.2 ms | 3.4 ms | +21.59% |
β‘ | test_count[100 Small Files] |
129.6 ms | 69.3 ms | +87.03% |
β‘ | test_iter_rows_first_row[100 Small Files] |
9,448.6 ms | 268.9 ms | Γ35 |
β | test_show[100 Small Files] |
16.2 ms | 40.6 ms | -60.07% |
Attention: Patch coverage is 80.45455%
with 43 lines
in your changes missing coverage. Please review.
Project coverage is 78.37%. Comparing base (
2b71ffb
) to head (485132b
). Report is 1 commits behind head on main.
@colin-ho looks like this introduces a regression for the benchmark test_show[100 Small Files]
Can you take a look?
Makes swordfish a top level runner,
set_runner_native()
. Additionally sets swordfish to be the default runner for development.This PR also contains some bug fixes and test changes, of which I have left comments for.
Additionally, this PR refactors swordfish in two ways:
num_parallel_tasks
parameter, that takes into account any pushed down limits.is_err
check on the sender in parts of the code where we have awhile receiver.recv.await -> sender.send
pattern, such that it breaks out of the loop if the sender is dropped. This is needed in cases when the consumer is done receiving data, such as in a Limit, or if the user is doingiter(df)
and breaks out of the iter, which will cause receivers to be dropped. As such, the senders should recognize this and drop as well.