Open
Bug 1884050
Opened 1 year ago
Updated 1 year ago
Explore further improvements to atom caches in zones
Categories
(Core :: JavaScript Engine, task, P2)
Core
JavaScript Engine
Tracking
()
NEW
People
(Reporter: jlink, Assigned: jlink)
References
(Blocks 1 open bug)
Details
Bug 1879143 replaced the data structure used as an atom cache in the zones with one more appropriate for that use case. This change resulted in some good improvements but there might be some additional things that can be done to make it better.
These include:
- Evaluate the distribution of cache indices that are used. The current approach of using the lower bits of the hash as the cache index seems to be working reasonably well based on the statistics that I computed. However, as an experiment I tried a different way to compute the cache index from the hash number that used all of the bits and I got somewhat better statistics. This is something that I want to follow up on.
- Try a two-way or four-way associative cache. With the current cache size and cache index computation, the cache is not "perfect". That is to say, there are times when we evict an entry that we later look for. Cache associativity is one way to address this problem without "improving" the hash function or increasing the number of entries.
- Try not caching the hash value and string length in each cache entry. This will likely result in an unnecessary cache miss on every failed lookup but would cut memory usage per-cache-line in half.
Updated•1 year ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•