-
-
Notifications
You must be signed in to change notification settings - Fork 49
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
Optimization of the first call of zim::Archive::iterEfficient() #724
Conversation
Codecov Report
@@ Coverage Diff @@
## master #724 +/- ##
==========================================
+ Coverage 84.57% 84.67% +0.09%
==========================================
Files 98 98
Lines 4297 4325 +28
Branches 1864 1869 +5
==========================================
+ Hits 3634 3662 +28
Misses 662 662
Partials 1 1
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
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.
A small change needed but it seems good to me.
Nice improvement !
LGTM. Please rebase-fixup on master |
The new class Grouping<ObjectId, GroupId> implements the current straightforward approach for sorting the dirents in cluster order, but opens a way for switching to a better solution. A user-observable effect of this change is the lower memory usage after `FileImpl::prepareArticleListByCluster()` has completed (but an increased high-watermark memory usage of that function).
Got rid of O(NlogN) sorting in FileImpl::prepareArticleListByCluster(). Now its time-complexitiy is O(N). Also, its high-watermark memory usage was lowered roughly to the level before Grouping was introduced.
bb7c998
to
5e2d46b
Compare
Done |
* Optimization ofthe first call to `zim::Archive::iterEfficient` (@veloman-yunkan #724) * Add some documentation to `zim::writer::IndexData` (@mgautierfr #727) * Correctly catch and rethrow exception thrown in worker threads at creation (@mgautierfr #496 #748) * Optimization of `Entry::getItem()` (@veloman-yunkan #732) * Fix declaration of `zim::setICUDataDirectory()` (@MohitMaliFtechiz #733) * Add `zim::Archive::getMediatCount()` (@mgautierfr #730) * Make compilaton of examples optional (@mgautierfr #738) * Add a CI for wasm (@mgautierfr #746) * Make constructor of SuggestionItem public (@veloman-yunkan #740)
FileImpl::m_articleListByCluster
has been halved