rsonquery / rsonpath

Blazing fast JSONPath query engine written in Rust.
https://rsonquery.github.io/rsonpath/
MIT License
46 stars 8 forks source link

Improve performance of the index selector #151

Open V0ldek opened 1 year ago

V0ldek commented 1 year ago

Is your feature request related to a problem? Please describe. The index selector was introduced in #64, but there was no in-depth performance analysis and polishing applied afterwards. The potential for improvements may be large.

Describe the solution you'd like

Second, this requires an experimental approach. Run benches on the current code and then identify opportunities for improvement, run benchmarks again to verify an improvement, repeat. We will stop once we run out of improvement ideas.

github-actions[bot] commented 1 year ago

Tagging @V0ldek for notifications

V0ldek commented 5 months ago

I tested adding a bitmask, kind of a bloom filter, that would allow checking if indices from 0 to 63 match any of the transitions inside a state. This wasn't a reliable improvement. Some benches were +4% thpt, some where -1, -2, -4 or even -7 in one case.