[Webkit-unassigned] [Bug 66363] The executable allocator makes it difficult to free individual chunks of executable memory

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Aug 17 18:56:50 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=66363





--- Comment #8 from Filip Pizlo <fpizlo at apple.com>  2011-08-17 18:56:50 PST ---
This is the performance when right-allocation is enabled.  This produces sub-optimal code layout as it's possible for two things allocated consecutively to lie on opposite sides of the heap.  But, it minimizes the number of pages in use.  It's not clear if this is a win, or not.


Benchmark report for SunSpider, V8, and Kraken.

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
"BestFitExecAlloc" at /Volumes/Data/pizlo/senary/OpenSource/WebKitBuild/Release/jsc

Collected 45 samples per benchmark/VM, with 15 VM invocations per benchmark. Used 1 benchmark iteration per VM
invocation for warm-up. Used the jsc-specific preciseTime() function to get microsecond-level timing. Reporting
benchmark execution times with 95% confidence intervals in milliseconds.

                                            TipOfTree            BestFitExecAlloc                                
SunSpider:
   3d-cube                                7.5292+-0.0860    ?     7.6575+-0.0832       ? might be 1.0171x slower
   3d-morph                               7.4882+-0.0696          7.4571+-0.0709       
   3d-raytrace                            7.6368+-0.0993          7.5628+-0.0799       
   access-binary-trees                    2.2285+-0.0342          2.1824+-0.0182         might be 1.0211x faster
   access-fannkuch                       11.4710+-0.1021         11.3988+-0.0922       
   access-nbody                           4.1968+-0.0381    ?     4.2456+-0.0731       ? might be 1.0116x slower
   access-nsieve                          2.4720+-0.0354          2.4574+-0.0371       
   bitops-3bit-bits-in-byte               1.7080+-0.0368    ?     1.7586+-0.0251       ? might be 1.0296x slower
   bitops-bits-in-byte                    4.1622+-0.0615    !     4.4769+-0.0770       ! definitely 1.0756x slower
   bitops-bitwise-and                     3.6113+-0.0459          3.5752+-0.0413         might be 1.0101x faster
   bitops-nsieve-bits                     5.4251+-0.0643    ?     5.4367+-0.0533       ?
   controlflow-recursive                  2.0054+-0.0202          1.9957+-0.0266       
   crypto-aes                             6.5658+-0.0766          6.5456+-0.0811       
   crypto-md5                             2.7402+-0.0324          2.7273+-0.0247       
   crypto-sha1                            2.1952+-0.0228    ?     2.2520+-0.0423       ? might be 1.0259x slower
   date-format-tofte                      9.9693+-0.1228    ?    10.1310+-0.1342       ? might be 1.0162x slower
   date-format-xparb                      8.5465+-0.1080    ?     8.6580+-0.1145       ? might be 1.0130x slower
   math-cordic                            6.2492+-0.0529    ?     6.2668+-0.0624       ?
   math-partial-sums                      7.5516+-0.0834    ?     7.5654+-0.0807       ?
   math-spectral-norm                     2.5182+-0.0329          2.4926+-0.0309         might be 1.0103x faster
   regexp-dna                            10.2535+-0.0721    !    10.8177+-0.0894       ! definitely 1.0550x slower
   string-base64                          6.0013+-0.0908    ?     6.0495+-0.0992       ?
   string-fasta                           7.3581+-0.0810          7.3069+-0.0761       
   string-tagcloud                       13.3322+-0.1478    ?    13.4441+-0.1326       ?
   string-unpack-code                    18.3448+-0.1520    ?    18.6119+-0.1853       ? might be 1.0146x slower
   string-validate-input                  7.0115+-0.1431    ?     7.0499+-0.1044       ?

   <arithmetic>                           6.4835+-0.0143    !     6.5432+-0.0165       ! definitely 1.0092x slower
   <geometric>                            5.3735+-0.0131    !     5.4140+-0.0135       ! definitely 1.0075x slower
   <harmonic>                             4.3890+-0.0166    ?     4.4165+-0.0144       ?

                                            TipOfTree            BestFitExecAlloc                                
V8:
   crypto                                88.3855+-0.2304         88.0580+-0.3105       
   deltablue                            262.9253+-1.2663    ?   263.8095+-0.6202       ?
   earley-boyer                         100.0719+-0.2928    ?   100.3218+-0.2207       ?
   raytrace                              75.9575+-0.2486         75.4541+-0.3980       
   regexp                               108.7350+-0.5273    ^   107.2281+-0.4855       ^ definitely 1.0141x faster
   richards                             251.9579+-1.0113    ^   241.2311+-1.2318       ^ definitely 1.0445x faster
   splay                                108.6511+-0.3619        107.9194+-0.4180       

   <arithmetic>                         142.3834+-0.2936    ^   140.5746+-0.2242       ^ definitely 1.0129x faster
   <geometric>                          126.7503+-0.2138    ^   125.5102+-0.1853       ^ definitely 1.0099x faster
   <harmonic>                           115.4135+-0.1802    ^   114.5392+-0.1817       ^ definitely 1.0076x faster

                                            TipOfTree            BestFitExecAlloc                                
Kraken:
   ai-astar                            1083.0171+-3.6911       1081.3665+-3.2078       
   audio-beat-detection                 457.3596+-1.1298    ^   454.2206+-1.4376       ^ definitely 1.0069x faster
   audio-dft                            413.2815+-2.8334    ?   416.3008+-2.3072       ?
   audio-fft                            357.1645+-1.2802        356.8773+-1.0993       
   audio-oscillator                     378.9674+-1.0617    !   381.9522+-1.1016       ! definitely 1.0079x slower
   imaging-darkroom                     575.5395+-2.2349    !   609.5229+-3.0018       ! definitely 1.0590x slower
   imaging-desaturate                   592.2349+-2.9636    ?   593.5229+-1.6949       ?
   imaging-gaussian-blur               1716.1634+-3.0601       1710.2664+-4.5857       
   json-parse-financial                  48.2717+-0.1376    ?    48.3075+-0.1697       ?
   json-stringify-tinderbox              61.8694+-0.1754         61.5657+-0.2802       
   stanford-crypto-aes                  141.7960+-0.3397    !   142.6480+-0.3741       ! definitely 1.0060x slower
   stanford-crypto-ccm                  110.2550+-0.2987    ?   110.4126+-0.2987       ?
   stanford-crypto-pbkdf2               364.9750+-1.1447    ?   370.8834+-5.3735       ? might be 1.0162x slower
   stanford-crypto-sha256-iterative     137.8285+-0.3687    !   138.7276+-0.2695       ! definitely 1.0065x slower

   <arithmetic>                         459.9088+-0.5808    !   462.6125+-0.6659       ! definitely 1.0059x slower
   <geometric>                          295.1312+-0.3490    !   296.9687+-0.4547       ! definitely 1.0062x slower
   <harmonic>                           179.5327+-0.2189    ?   179.9774+-0.2983       ?

                                            TipOfTree            BestFitExecAlloc                                
All benchmarks:
   <arithmetic>                         161.7868+-0.1712    !   162.3557+-0.2025       ! definitely 1.0035x slower
   <geometric>                           28.3740+-0.0410    !    28.5031+-0.0414       ! definitely 1.0046x slower
   <harmonic>                             7.7524+-0.0288    ?     7.7995+-0.0248       ?

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list