Bug 207349

Summary: [WTF] Introduce linear-search-threshold for HashTable
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: Web Template FrameworkAssignee: Yusuke Suzuki <ysuzuki>
Status: NEW ---    
Severity: Normal CC: benjamin, cdumez, cmarcelo, dbates, ews-watchlist
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Yusuke Suzuki 2020-02-06 12:56:00 PST
Let's add linear-search-threshold for HashTable to use higher load-factor for smaller hashtable.

1. Like, setting a linear-search-threshold to 8.
2. Up to 7, we extend capacity when we hit capacity - 1, which is higher load-factor than 75%.
Comment 1 Yusuke Suzuki 2020-02-06 13:46:06 PST
(In reply to Yusuke Suzuki from comment #0)
> Let's add linear-search-threshold for HashTable to use higher load-factor
> for smaller hashtable.
> 
> 1. Like, setting a linear-search-threshold to 8.
> 2. Up to 7, we extend capacity when we hit capacity - 1, which is higher
> load-factor than 75%.

And we should revisit minimumTableSize = 8 definition too. I think this is defined in pre-bmalloc era. So it is assuming malloc is enough slow.
Comment 2 Yusuke Suzuki 2020-02-06 18:01:33 PST
Created attachment 390038 [details]
Patch
Comment 3 Yusuke Suzuki 2020-02-07 11:00:48 PST
The test failures are caused by the bug in the tests relying on particular hash-table iteration order, which is not guaranteed. Need to fix.