apache / apache/lucene

Can PForUtil be further auto-vectorized? [LUCENE-9918]

Open
#10,957 5 comments 0 reactions 0 assignees View on GitHub
affects-version:9.0 legacy-jira-priority:Minor module:core/codecs type:task
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

While working on #10889, we discovered the loop in PForUtil::prefixSumOf is not getting auto-vectorized by the HotSpot compiler. We tried a few different tweaks to see if we could change this, but came up empty. There are some additional suggestions in the related [PR](https://github.com/apache/lucene/pull/69#discussion_r608412309) that could still be experimented with, and it may be worth doing so to see if further improvements could be squeezed out.

---
Migrated from [LUCENE-9918](https://issues.apache.org/jira/browse/LUCENE-9918) by Greg Miller (@gsmiller), updated Aug 20 2021

Contributor guide

Open the contributing guide

Research direction

Start by reading PForUtil::prefixSumOf and the additional suggestions in the linked PR discussion. Experiment with the suggested changes and verify whether HotSpot auto-vectorizes the loop and whether the change produces a measurable improvement.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
performance, search
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.