apache / apache/lucene

Create a simple JMH benchmark to measure FST compilation / traversal times

Open
#12,884 4 comments 0 reactions 0 assignees View on GitHub
type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

### Description

Over in #12543 we are struggling to measure the performance cost of different ways of creating an on-heap reader/writer. We have been using the "rough" numbers coming out of `Test2BFST` runs but this is non-ideal -- it is test code, running with assertions, perhaps doing sub-optimal FST usage (not matching what, say, block tree would do to the terms index).

Let's create a simple micro-benchmark to more readily benchmark FST changes?

Contributor guide

Open the contributing guide

Research direction

Start by reading the Test2BFST code and issue #12543 to understand the existing rough measurements and the reader/writer creation approaches being compared. Define a simple JMH benchmark for FST compilation and traversal, with results that avoid assertion-enabled test execution and better reflect terms-index usage.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.