-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Applying the optimization options #3982
Applying the optimization options #3982
Conversation
Hey @kozistr, could you please explain why setting those options explicitly is required? AFAIK, most of them are already used by default. |
you're right. most of them are already used by default except changed fce1e2b |
Still, could you please provide some explanation why we would want |
sure! AFAIK, setting Maybe, if you've already considered this option and thought it wasn't suitable for the Qdrant project, please let me know. (I didn't run lots of tests, or know how |
It would be nice to have some benchmarks for this.. More specifically, run some searches using https://github.com/qdrant/bfb /bounty $50 |
💎 $50 bounty • Qdrant💎 $50 bounty • QdrantSteps to solve:
Thank you for contributing to qdrant/qdrant! Add a bounty • Share on socials
|
Reducing code-gen units to 1 does indeed open the door for more performance optimizations. The problem is that it'll make building extremely slow. Qdrant builds already take a significant amount of time, and I don't think we want to see that as side effect. |
How extremely? If we need to build it once per release, it is not that bad |
I just ran a docker building on my local machine (i7-7700K CPU, on WSL2, based on main branch),
% time could be differed on the Github action host |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding codegen-units = 1
definitely will increase the performance but it comes with a cost of compile time.
For release profile this extra time is indeed not a big deal as it's not build frequently.
Compile time can also be reduced by modifying the value of codegen-units
, but according to me for this codebase codegen-units = 1
is just fine and is balanced between performance and compile time.
/claim #3982
On my machine I'm seeing compilation times of 414 seconds versus 519 with a single codegen unit. It's less of a difference than I had anticipated. |
That's a good point about compile times varying based on system resources. It's possible GitHub Actions might have a larger difference due to their build environment. Using |
I am mostly interested in search perf benchmarks |
I ran some benchmarks with the bfb, hash 8ecc126
building index
Search
Search timings
Server timings
RPS
Although there are many configs to test and the result depends on the environment, it seems that I'll do more tests if I'm available. |
/tip $50 @kozistr |
@kozistr: You just got a $50 tip! 👉 Complete your Algora onboarding to collect your payment. |
* build(config): update profile.release * build(config): update profile.release
🎉🎈 @kozistr has been awarded $50! 🎈🎊 |
All Submissions:
dev
branch. Did you create your branch fromdev
?Change Logs
I made changes to the optimization option for release.
codegen-unit