chroma-core / chroma

the AI-native open-source embedding database
https://www.trychroma.com/
Apache License 2.0
13.38k stars 1.14k forks source link

[Feature Request]: Evaluate using Link-Time Optimization (LTO) and Profile-Guided Optimization (PGO) for the Rust crates #2296

Open zamazan4ik opened 3 weeks ago

zamazan4ik commented 3 weeks ago

Describe the problem

It isn't a problem - just an idea of how the project performance can be improved.

Describe the proposed solution

I checked various compiler optimizations (like Link-Time Optimization (LTO) and Profile-Guided Optimization (PGO)) on many projects (including many databases like PostgreSQL, MongoDB, SQLite, ClickHouse, etc.) - all the results are available at https://github.com/zamazan4ik/awesome-pgo . Since such optimizations help with optimizing such projects, I think it can be an interesting idea to optimize the Rust parts of Chroma with LTO and PGO.

I can suggest the following ideas:

Alternatives considered

N/A

Importance

nice to have

Additional Information

I would be happy to answer all your questions regarding LTO, PGO and PLO.

HammadB commented 1 week ago

This is a good tip! Thanks