enhancementgood first issueperformance
仓库指标
- Star
- (8,354 star)
- PR 合并指标
- (平均合并 12天 14小时) (30 天内合并 20 个 PR)
描述
Noted in PR #293
Use the same trick as what is used in the [BitSetDocSet] (https://github.com/tantivy-search/tantivy/blob/78673172d001a0c4c7c73cdd3d9923fc43fc0312/src/query/bitset/mod.rs) which relies on TinySet
In a nutshell : instead of looping on the bitset to find the next thing alive, it uses a special cpu instruction to get the next bit set to 1 in a u64. The instruction is not free, but except if your bitset is EXTREMELY saturated it is generally faster.
https://github.com/tantivy-search/tantivy/pull/293#discussion-diff-186488306R373