-
Notifications
You must be signed in to change notification settings - Fork 665
Allocate fewer vecs in eval_updates
#2567
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
db7c4ee to
6cf7c90
Compare
|
don't think this works anymore, but: benchmarks please |
Criterion benchmark resultsError when comparing benchmarks: Couldn't find AWS credentials in environment, credentials file, or IAM role. Caused by: |
|
Callgrind benchmark in progress... |
1 similar comment
|
Callgrind benchmark in progress... |
Criterion benchmark resultsError when comparing benchmarks: Couldn't find AWS credentials in environment, credentials file, or IAM role. Caused by: |
|
This optimization makes sense, just bear in mind that we may decide to remove parallel iteration from |
Description of Changes
Instead of collecting to a single vec, we collect to a linked list of vecs, which is rayon's recommended way of collecting a parallel iterator into a single data structure. This means there will be fewer allocations - for N worker threads and M query plans, it's now N vecs and N linked list nodes with standard amortizable growth, instead of M vecs that get concatenated together one at a time.
API and ABI breaking changes
Expected complexity level and risk
2 - I'm pretty confident this doesn't have a behavior change and that the changes are only optimizations, but it'd probably be worth running benchmarks to make sure
Testing