Reintroduce InterningIndex using std::array rather then MRUCache.
We also solve two issues that we saw: 1) Increased memory usage, this was caused because the original try used a single value for all ValueTypes which increased empty strings even if not used. We address this with allowing every ValueType to have its own value. Some memory increase is expected (but won't be the +7% we saw) and is only while tracing is active. We expect to see memory regressions of some small percetange as the pinpoint perf below shows. 2) Return only valid indexing iids, originally we searched the whole array but that included default initialized values and thus we assigned invalid index iids. This is address by keeping track of how much of the array has been used. This changes CPU overhead by ~2% (-5% to +2% at 95% confidence). Results here: https://docs.google.com/spreadsheets/d/1SIFHwNexnHHn4AELV0ZktHav_Ni7AtohVycKWWwMNEI/ Google internal: CPU profile with MRUCache https://pprof.corp.google.com/user-profile?id=df279687f82a1b1ae910d3805c631a5e&showfrom=.*%5BTt%5Drac%5Bie%5D.* CPU profile with std::array https://pprof.corp.google.com/user-profile?id=7adaf0baf6c45b9bc9e00aeabb5e4ced&showfrom=.*%5BTt%5Drac%5Bie%5D.* Bug: 1012257 Change-Id: I3b627cb0b3c2f814ecf6f2106c32b8b439a2f522 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1849679Reviewed-by:Stephen Nusko <nuskos@chromium.org> Reviewed-by:
Eric Seckler <eseckler@chromium.org> Commit-Queue: Stephen Nusko <nuskos@chromium.org> Auto-Submit: Stephen Nusko <nuskos@chromium.org> Cr-Commit-Position: refs/heads/master@{#708989}
Showing
Please register or sign in to comment