RESOLVED FIXED Bug 155759
bmalloc: shrink largeMax
https://bugs.webkit.org/show_bug.cgi?id=155759
Summary bmalloc: shrink largeMax
Geoffrey Garen
Reported 2016-03-22 11:06:54 PDT
bmalloc: shrink largeMax
Attachments
Patch (4.08 KB, patch)
2016-03-22 12:01 PDT, Geoffrey Garen
msaboff: review+
Geoffrey Garen
Comment 1 2016-03-22 12:01:32 PDT
Geoffrey Garen
Comment 2 2016-03-22 12:02:14 PDT
Memory results: ~/OpenSource/PerformanceTests/MallocBench> ./run-malloc-benchmarks Baseline:~/OpenSource/WebKitBuildBaseline/Release/ Patch:~/OpenSource/WebKitBuild/Release/ Baseline Patch Δ Execution Time: facebook 224ms 222ms ^ 1.01x faster reddit 110ms 109ms ^ 1.01x faster flickr 113ms 115ms ! 1.02x slower theverge 140ms 144ms ! 1.03x slower nimlang 122ms 118ms ^ 1.03x faster reddit_memory_warning --runs 0 0ms 0ms flickr_memory_warning --runs 0 0ms 0ms theverge_memory_warning --runs 0 0ms 0ms <geometric mean> 0ms 0ms <arithmetic mean> 89ms 89ms ^ 1.0x faster <harmonic mean> 0ms 0ms Peak Memory: facebook 73,428kB 73,172kB ^ 1.0x smaller reddit 13,316kB 13,392kB ! 1.01x bigger flickr 25,316kB 24,828kB ^ 1.02x smaller theverge 26,460kB 26,336kB ^ 1.0x smaller nimlang 216,848kB 184,484kB ^ 1.18x smaller reddit_memory_warning --runs 0 13,356kB 13,328kB ^ 1.0x smaller flickr_memory_warning --runs 0 25,560kB 24,888kB ^ 1.03x smaller theverge_memory_warning --runs 0 26,468kB 26,300kB ^ 1.01x smaller <geometric mean> 32,624kB 31,745kB ^ 1.03x smaller <arithmetic mean> 52,594kB 48,341kB ^ 1.09x smaller <harmonic mean> 24,814kB 24,597kB ^ 1.01x smaller Memory at End: facebook 2,804kB 2,724kB ^ 1.03x smaller reddit 1,688kB 1,764kB ! 1.05x bigger flickr 2,724kB 2,748kB ! 1.01x bigger theverge 2,776kB 2,812kB ! 1.01x bigger nimlang 33,736kB 33,400kB ^ 1.01x smaller reddit_memory_warning --runs 0 8,824kB 8,796kB ^ 1.0x smaller flickr_memory_warning --runs 0 11,848kB 11,840kB ^ 1.0x smaller theverge_memory_warning --runs 0 20,740kB 20,744kB ! 1.0x bigger <geometric mean> 6,342kB 6,361kB ! 1.0x bigger <arithmetic mean> 10,643kB 10,604kB ^ 1.0x smaller <harmonic mean> 4,098kB 4,145kB ! 1.01x bigger
Geoffrey Garen
Comment 3 2016-03-22 12:02:31 PDT
Throughput results: ~/OpenSource/PerformanceTests/MallocBench> ./run-malloc-benchmarks Baseline:~/OpenSource/WebKitBuildBaseline/Release/ Patch:~/OpenSource/WebKitBuild/Release/ Baseline Patch Δ Execution Time: churn 79ms 76ms ^ 1.04x faster list_allocate 70ms 74ms ! 1.06x slower tree_allocate 74ms 72ms ^ 1.03x faster tree_churn 80ms 80ms fragment 70ms 69ms ^ 1.01x faster fragment_iterate 75ms 76ms ! 1.01x slower medium 194ms 179ms ^ 1.08x faster big 139ms 139ms facebook 234ms 233ms ^ 1.0x faster reddit 110ms 111ms ! 1.01x slower flickr 115ms 113ms ^ 1.02x faster theverge 143ms 144ms ! 1.01x slower nimlang 123ms 121ms ^ 1.02x faster message_one 209ms 207ms ^ 1.01x faster message_many 114ms 114ms churn --parallel 40ms 40ms list_allocate --parallel 66ms 65ms ^ 1.02x faster tree_allocate --parallel 81ms 82ms ! 1.01x slower tree_churn --parallel 87ms 82ms ^ 1.06x faster fragment --parallel 47ms 47ms fragment_iterate --parallel 32ms 31ms ^ 1.03x faster medium --parallel 182ms 180ms ^ 1.01x faster big --parallel 130ms 131ms ! 1.01x slower <geometric mean> 96ms 95ms ^ 1.01x faster <arithmetic mean> 108ms 107ms ^ 1.01x faster <harmonic mean> 84ms 83ms ^ 1.01x faster Peak Memory: churn 780kB 780kB list_allocate 2,092kB 2,092kB tree_allocate 5,452kB 5,452kB tree_churn 4,760kB 4,760kB fragment 7,000kB 7,000kB fragment_iterate 25,580kB 25,580kB medium 1,068,416kB 1,068,416kB big 1,060,460kB 1,060,460kB facebook 73,428kB 73,172kB ^ 1.0x smaller reddit 13,388kB 13,368kB ^ 1.0x smaller flickr 25,316kB 24,748kB ^ 1.02x smaller theverge 26,460kB 26,304kB ^ 1.01x smaller nimlang 216,900kB 184,484kB ^ 1.18x smaller message_one 4,524kB 4,504kB ^ 1.0x smaller message_many 4,968kB 4,996kB ! 1.01x bigger churn --parallel 956kB 964kB ! 1.01x bigger list_allocate --parallel 2,192kB 2,212kB ! 1.01x bigger tree_allocate --parallel 3,300kB 3,304kB ! 1.0x bigger tree_churn --parallel 2,972kB 2,988kB ! 1.01x bigger fragment --parallel 7,156kB 7,156kB fragment_iterate --parallel 25,716kB 25,724kB ! 1.0x bigger medium --parallel 1,067,404kB 1,064,652kB ^ 1.0x smaller big --parallel 1,058,680kB 1,057,880kB ^ 1.0x smaller <geometric mean> 18,364kB 18,226kB ^ 1.01x smaller <arithmetic mean> 204,691kB 203,087kB ^ 1.01x smaller <harmonic mean> 4,379kB 4,390kB ! 1.0x bigger Memory at End: churn 368kB 368kB list_allocate 396kB 396kB tree_allocate 432kB 432kB tree_churn 420kB 420kB fragment 448kB 448kB fragment_iterate 628kB 628kB medium 4,608kB 4,608kB big 4,592kB 4,592kB facebook 2,804kB 2,724kB ^ 1.03x smaller reddit 1,760kB 1,740kB ^ 1.01x smaller flickr 2,724kB 2,668kB ^ 1.02x smaller theverge 2,776kB 2,780kB ! 1.0x bigger nimlang 33,788kB 33,400kB ^ 1.01x smaller message_one 688kB 668kB ^ 1.03x smaller message_many 1,084kB 1,084kB churn --parallel 540kB 548kB ! 1.01x bigger list_allocate --parallel 576kB 588kB ! 1.02x bigger tree_allocate --parallel 668kB 660kB ^ 1.01x smaller tree_churn --parallel 1,104kB 1,176kB ! 1.07x bigger fragment --parallel 1,404kB 1,320kB ^ 1.06x smaller fragment_iterate --parallel 832kB 836kB ! 1.0x bigger medium --parallel 4,736kB 4,728kB ^ 1.0x smaller big --parallel 4,720kB 4,708kB ^ 1.0x smaller <geometric mean> 1,343kB 1,339kB ^ 1.0x smaller <arithmetic mean> 3,135kB 3,110kB ^ 1.01x smaller <harmonic mean> 865kB 865kB ^ 1.0x smaller
Michael Saboff
Comment 4 2016-03-22 12:06:59 PDT
Comment on attachment 274671 [details] Patch r=me Do you have any performance data showing memory usage improvement and the impact of possibly more XLarge objects?
Geoffrey Garen
Comment 5 2016-03-22 12:09:29 PDT
> Do you have any performance data showing memory usage improvement and the > impact of possibly more XLarge objects? The data above cover memory in the average case. There is a potential for worse XLarge memory usage in the worst case. But we are saved in the average case because XLarge objects are rare.
Michael Saboff
Comment 6 2016-03-22 12:19:14 PDT
(In reply to comment #5) > > Do you have any performance data showing memory usage improvement and the > > impact of possibly more XLarge objects? > > The data above cover memory in the average case. > > There is a potential for worse XLarge memory usage in the worst case. But we > are saved in the average case because XLarge objects are rare. Didn't see the perf results when I reviewed. I like the results, especially the nimlang peak reduction.
Geoffrey Garen
Comment 7 2016-03-22 12:39:12 PDT
Note You need to log in before you can comment on or make changes to this bug.