Tony-X
Tony-X
Since the first working version, I iterated with a list of profiling-guided allocation optimizations, as they stood out quite obviously from the merged JFR reports (thanks to luceneutil !). Some...
## Non-trivial amount of allocations for? .... building IndexInput slice descriptions !? `jdk.internal.misc.Unsafe#allocateUninitializedArray()`. This was not trivial to find out why. But again with the raw JFR report, we can...
Here is the even more interesting stuff. After all those allocation optimizations. I also implemented the on-paper more "efficient" algorithm to intersect FST and FSA for Terms.intersect(), which leverages the...
Thanks @mikemccand for taking a look! I see the [getCommonSuffixBytesRef](https://github.com/apache/lucene/blob/5d6086e1994d766a3dd39a47b14a8cd80a7280e6/lucene/core/src/java/org/apache/lucene/util/automaton/Operations.java#L1161) method from `Automaton`. I wonder if it is really applicable to the FST... i.e. for the FST is it guaranteed...
`MergeScheduler` can reject or throttle certain merges but I wonder if it can somehow communicate the constraints to the `MergePolicy` to suggest MP to produce plausible but not most efficient...