-
Notifications
You must be signed in to change notification settings - Fork 123
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
Keep the stores open all the time #665
Conversation
Codecov Report
@@ Coverage Diff @@
## master #665 +/- ##
============================================
+ Coverage 74.65% 74.69% +0.03%
Complexity 266 266
============================================
Files 96 96
Lines 5926 5931 +5
Branches 730 725 -5
============================================
+ Hits 4424 4430 +6
- Misses 966 969 +3
+ Partials 536 532 -4
Continue to review full report at Codecov.
|
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.
Out of curiosity, what was the performance gain in doing this (or do we know yet)?
We didn't know at submission time, it was mostly a hunch from Dexter.
That is on my Linux machine (on my Mac it's unreliable and significantly slower, milliseconds instead of microseconds) I'll work on adding the benchmark as part of this as well. |
A "store" is a handle to the database. Glean has 3 different ones and can keep them open throughout its lifetime. Not frequently re-opening database handles also might be a performance improvement.
b0cf598
to
6c8e416
Compare
So the numbers are unreliable even on my Linux workstation. The benchmark is also very simplistic and nowhere near a real use case. |
holding back on this to investigate what this means for I/O operations. |
All good, I/O operations unchanged for the startup case. /cc @travis79, please give it a final review |
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.
Just a minor nit but looks good to me!
Currently it only contains one very simplistic benchmark: Setting 2 metrics and submitting a custom ping. Why an additional crate? This way we don't add any new (dev) dependencies to the crates that get released.
A "store" is a handle to the database.
Glean has 3 different ones and can keep them open throughout its lifetime.
Not frequently re-opening database handles also might be a performance
improvement.
Extracted from #664 because it's unrelated. Not directly related to a filed bug.