GitHub user s1monw opened a pull request: https://github.com/apache/lucene-solr/pull/513
LUCENE-8590: Optimize DocValues update datastructures Today we are using a LinkedHashMap to buffer doc-values updates in BufferedUpdates. This on the one hand uses an Object based datastructure and on the other requires re-encoding the data into a more compact representation once the BufferedUpdates are frozen. This change uses a more compact represenation for the updates already in the BufferedUpdates in a parallel-array like datastructure that can be reused in FrozenBufferedDeletes. It also adds an much simpler to use API to consume the updates and allows for internal memory optimization for common case updates. You can merge this pull request into a Git repository by running: $ git pull https://github.com/s1monw/lucene-solr improve_buffered_updates Alternatively you can review and apply these changes as the patch at: https://github.com/apache/lucene-solr/pull/513.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #513 ---- commit 6646d1ce1227fae937a2d9560afcc973baa84243 Author: Simon Willnauer <simonw@...> Date: 2018-12-04T16:36:46Z LUCENE-8590: Optimize DocValues update datastructures Today we are using a LinkedHashMap to buffer doc-values updates in BufferedUpdates. This on the one hand uses an Object based datastructure and on the other requires re-encoding the data into a more compact representation once the BufferedUpdates are frozen. This change uses a more compact represenation for the updates already in the BufferedUpdates in a parallel-array like datastructure that can be reused in FrozenBufferedDeletes. It also adds an much simpler to use API to consume the updates and allows for internal memory optimization for common case updates. ---- --- --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org