The GitHub Actions job "Java CI with Maven" on 
stormcrawler.git/issue-2107-quadratic-comma-split has succeeded.
Run started by GitHub user abhinav-phi (triggered by dpol1).

Head commit for run:
6db36cfb8cceb3e85a1876349c73afe2d4735230 / abhinav-phi <[email protected]>
Replace quadratic metadata append in CommaSeparatedToMultivaluedMetadata

Metadata.addValue copies the whole array on every call, so splitting a
value into n tokens and appending them one at a time in
CommaSeparatedToMultivaluedMetadata.filter costs n^2/2 element copies.
The key is removed just before the loop, so the tokens can be stored
with a single setValues call instead. The number of tokens taken from
one value is capped (maxTokens, 65536 by default) and a warning is
logged when the cap trims, so that the amount of metadata a page
produces does not grow unbounded with the page size.

Metadata.addValues(String, String[]) had the same shape when the key
was already present: it looped over addValue. It now appends with a
single array copy; as a side effect it no longer skips blank values in
that case, which matches what it already did when the key was absent.

Report URL: https://github.com/apache/stormcrawler/actions/runs/33268653911

With regards,
GitHub Actions via GitBox

Reply via email to