-
Notifications
You must be signed in to change notification settings - Fork 6.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Optimize SubstringSetMatcher [patch 4/5, aux info in edge map]
Store some auxiliary node information (failure edge, match ID, output link) together with the edges, making the edge map into a slightly more generic key/value store. This again saves significantly on RAM, since we do not need to store these values on nodes that do not have them (e.g. very few nodes have a match ID). We lose some of the initialization performance improvements we got in the previous patch, but still keep a healthy lead overall. SubstringSetMatcher.init_time: 36772 -> 45214 us (-18.7% perf) SubstringSetMatcher.match_time: 129 -> 128 us (+ 0.8% perf) SubstringSetMatcher.memory_usage: 13047 -> 6649 kB (-49.0% RAM) Change-Id: Iae78ca2f14afb542cb8651db2e375154a9058238 Bug: 1319422 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3596142 Commit-Queue: Steinar H Gunderson <sesse@chromium.org> Reviewed-by: Dominic Battré <battre@chromium.org> Cr-Commit-Position: refs/heads/main@{#1001477}
- Loading branch information
Steinar H. Gunderson
authored and
Chromium LUCI CQ
committed
May 10, 2022
1 parent
e953ea9
commit bc88e55
Showing
2 changed files
with
90 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters