Skip to content
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

Indexing unit benchmarks #3362

Open
ManyTheFish opened this issue Jul 12, 2022 · 2 comments
Open

Indexing unit benchmarks #3362

ManyTheFish opened this issue Jul 12, 2022 · 2 comments
Labels
maintenance Issue about maintenance (CI, tests, refacto...) milli Related to the milli workspace tooling Not directly project related, like Docker, Homebrew...

Comments

@ManyTheFish
Copy link
Member

ManyTheFish commented Jul 12, 2022

Summary

Add a unit benchmark for each extractor in the indexer, the goal is:

  • during the development phase, seeing fastly and efficiently the impact of local optimization
  • during the performance-regression investigation phase, helping to find local regressions

Checklist

  • extractors
  • prefix db
@ManyTheFish ManyTheFish added performance Related to the performance in term of search/indexation speed or RAM/CPU/Disk consumption maintenance Issue about maintenance (CI, tests, refacto...) labels Jul 12, 2022
@ManyTheFish ManyTheFish transferred this issue from meilisearch/meilisearch Jul 12, 2022
@ManyTheFish ManyTheFish removed the performance Related to the performance in term of search/indexation speed or RAM/CPU/Disk consumption label Jul 12, 2022
@ManyTheFish ManyTheFish changed the title Unit benchmarks Indexing unit benchmarks Jul 12, 2022
@irevoire
Copy link
Member

irevoire commented Jul 12, 2022

I started looking into this issue and it’s not as easy as I thought;

@irevoire
Copy link
Member

I implemented a first version of a unit benchmark using the nightly stdlib solution since it’s the only one that allows unit benchmarks.
You can look at this commit; meilisearch/milli@10b42cc
Basically, we need to import select-rustc; once this is done, we can #[cfg(feature = "nightly")], and we need to do this for everything related to the benchmarks.
To simplify the code a little bit, I created a module in the test module where I threw my benchmarks.

@curquiza curquiza added the milli Related to the milli workspace label Jan 16, 2023
@curquiza curquiza transferred this issue from meilisearch/milli Jan 18, 2023
@curquiza curquiza added the tooling Not directly project related, like Docker, Homebrew... label Jan 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Issue about maintenance (CI, tests, refacto...) milli Related to the milli workspace tooling Not directly project related, like Docker, Homebrew...
Projects
None yet
Development

No branches or pull requests

3 participants