Skip to content

Commit

Permalink
Combine all postings enum impls of the default codec into a single cl…
Browse files Browse the repository at this point in the history
…ass (#14033)

Recent speedups by making call sites bimorphic made me want to play with combining all postings enums and impacts enums of the default codec into a single class, in order to reduce polymorphism. Unfortunately, it does not yield a speedup since the major polymorphic call sites we have that hurt performance (DefaultBulkScorer, ConjunctionDISI) are still 3-polymorphic or more.

Yet, reduced polymorphism at little performance impact is a good trade-off as it would help make call sites bimorphic for users who don't have as much query diversity as nightly benchmarks, or in the future when we remove other causes of polymorphism.
  • Loading branch information
jpountz authored Dec 4, 2024
1 parent 3fcadaf commit 6c48b40
Show file tree
Hide file tree
Showing 4 changed files with 628 additions and 1,305 deletions.
3 changes: 3 additions & 0 deletions lucene/CHANGES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ Improvements
segments for merges below the floor segment size, even if maxMergeAtOnce is
bigger than segsPerTier. (Adrien Grand)

* GITHUB#14033: Combine all postings enum impls of the default codec into a
single class. (Adrien Grand)

Optimizations
---------------------

Expand Down
Loading

0 comments on commit 6c48b40

Please sign in to comment.