Bug 168611 - Add biased coloring to Briggs and IRC
Summary: Add biased coloring to Briggs and IRC
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Local Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Saam Barati
URL:
Keywords:
Depends on: 168454
Blocks:
  Show dependency treegraph
 
Reported: 2017-02-20 13:06 PST by Saam Barati
Modified: 2017-02-22 13:54 PST (History)
13 users (show)

See Also:


Attachments
WIP (5.52 KB, patch)
2017-02-22 01:13 PST, Saam Barati
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews101 for mac-elcapitan (1.22 MB, application/zip)
2017-02-22 04:25 PST, Build Bot
no flags Details
patch (7.61 KB, patch)
2017-02-22 12:19 PST, Saam Barati
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Saam Barati 2017-02-20 13:06:52 PST
Described by Briggs here:
http://www.cs.utexas.edu/users/mckinley/380C/lecs/briggs-thesis-1992.pdf
In section 5.3.3
Comment 1 Saam Barati 2017-02-20 13:10:29 PST
This is really easy to do, and I was seeing some speedups on Octane/encrypt&decrypt on x86
Comment 2 Saam Barati 2017-02-20 14:10:42 PST
Here is the octane improvement I'm seeing on x86-64 with biased coloring:

VMs tested:
"og" at /Volumes/Data/WK/c/OpenSource/WebKitBuild/Release/jsc (r212666)
"change" at /Volumes/Data/WK/b/OpenSource/WebKitBuild/Release/jsc (r212666)

Collected 6 samples per benchmark/VM, with 6 VM invocations per benchmark. Emitted a call to gc()
between sample measurements. 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.

                               og                      change                                      

encrypt                 0.15771+-0.00768    ^     0.14474+-0.00282       ^ definitely 1.0896x faster
decrypt                 2.68519+-0.05090    ^     2.53320+-0.02351       ^ definitely 1.0600x faster
deltablue      x2       0.12771+-0.00267    ?     0.12852+-0.00233       ?
earley                  0.25882+-0.00354          0.25845+-0.00183       
boyer                   4.41878+-0.07923          4.33053+-0.04241         might be 1.0204x faster
navier-stokes  x2       4.75288+-0.02827          4.71152+-0.02445       
raytrace       x2       0.72028+-0.00623    ?     0.72357+-0.00708       ?
richards       x2       0.08107+-0.00102          0.08041+-0.00089       
splay          x2       0.30133+-0.00148    ?     0.30499+-0.00803       ? might be 1.0122x slower
regexp         x2      16.32528+-0.64241    ?    16.40750+-0.59171       ?
pdfjs          x2      38.83070+-0.19678    ^    37.81810+-0.77123       ^ definitely 1.0268x faster
mandreel       x2      40.81316+-0.30060         40.79690+-0.26345       
gbemu          x2      29.05617+-0.32384         28.81209+-0.18376       
closure                 0.48823+-0.01577          0.48424+-0.00613       
jquery                  6.52726+-0.03976    ?     6.58126+-0.08044       ?
box2d          x2       9.05653+-0.25556          9.01675+-0.08404       
zlib           x2     344.23631+-13.85333       341.80150+-10.84235      
typescript     x2     629.87040+-93.39338       590.49556+-5.72563         might be 1.0667x faster

<geometric>             4.85133+-0.04850          4.79497+-0.02893         might be 1.0118x faster
Comment 3 Saam Barati 2017-02-21 00:44:56 PST
This also look promising for ARM64.
Comment 4 Saam Barati 2017-02-21 11:19:51 PST
Looks good on ARM64 too.
Note: The decrypt/encrypt perf boost is from biased coloring. The box2d perf boost is from another patch I'm working on, but they're both part of my local build. Second note: the "og" build is running the Briggs allocator too.

                               og                      change                                      

encrypt                 0.41237+-0.00399    ^     0.36497+-0.00194       ^ definitely 1.1299x faster
decrypt                 7.16539+-0.03360    ^     6.38722+-0.02088       ^ definitely 1.1218x faster
deltablue      x2       0.34564+-0.00742          0.33859+-0.00931         might be 1.0208x faster
earley                  0.75216+-0.00744          0.74818+-0.00421       
boyer                  14.46409+-0.33290         14.31051+-0.19185         might be 1.0107x faster
navier-stokes  x2      15.03824+-0.05574    ?    15.09077+-0.06940       ?
raytrace       x2       2.27762+-0.06965    ?     2.35769+-0.14030       ? might be 1.0352x slower
richards       x2       0.22309+-0.00714    ?     0.22577+-0.00674       ? might be 1.0120x slower
splay          x2       1.38117+-0.10462    ?     1.44251+-0.07045       ? might be 1.0444x slower
regexp         x2      63.99753+-0.66312         63.72767+-0.44129       
pdfjs          x2     127.28638+-1.48141        126.47769+-1.81120       
mandreel       x2     187.97150+-8.78703        182.78586+-2.53704         might be 1.0284x faster
gbemu          x2     242.12910+-23.62377   ?   243.97893+-25.42121      ?
closure                 1.33415+-0.04978          1.31586+-0.01641         might be 1.0139x faster
jquery                 19.07025+-0.53929    ?    19.09152+-0.19186       ?
box2d          x2      51.85309+-1.85458    ^    48.19905+-1.28055       ^ definitely 1.0758x faster
zlib           x2    1032.15644+-45.74028   ?  1042.08292+-25.20337      ?
typescript     x2    2518.30688+-46.32575   ?  2529.74344+-47.34484      ?

<geometric>            17.67602+-0.16437         17.50267+-0.14981         might be 1.0099x faster
Comment 5 Filip Pizlo 2017-02-21 20:32:01 PST
(In reply to comment #4)
> Looks good on ARM64 too.
> Note: The decrypt/encrypt perf boost is from biased coloring. The box2d perf
> boost is from another patch I'm working on, but they're both part of my
> local build. Second note: the "og" build is running the Briggs allocator too.
> 
>                                og                      change               
> 
> 
> encrypt                 0.41237+-0.00399    ^     0.36497+-0.00194       ^
> definitely 1.1299x faster
> decrypt                 7.16539+-0.03360    ^     6.38722+-0.02088       ^
> definitely 1.1218x faster

Whoa

> deltablue      x2       0.34564+-0.00742          0.33859+-0.00931        
> might be 1.0208x faster
> earley                  0.75216+-0.00744          0.74818+-0.00421       
> boyer                  14.46409+-0.33290         14.31051+-0.19185        
> might be 1.0107x faster
> navier-stokes  x2      15.03824+-0.05574    ?    15.09077+-0.06940       ?
> raytrace       x2       2.27762+-0.06965    ?     2.35769+-0.14030       ?
> might be 1.0352x slower
> richards       x2       0.22309+-0.00714    ?     0.22577+-0.00674       ?
> might be 1.0120x slower
> splay          x2       1.38117+-0.10462    ?     1.44251+-0.07045       ?
> might be 1.0444x slower
> regexp         x2      63.99753+-0.66312         63.72767+-0.44129       
> pdfjs          x2     127.28638+-1.48141        126.47769+-1.81120       
> mandreel       x2     187.97150+-8.78703        182.78586+-2.53704        
> might be 1.0284x faster
> gbemu          x2     242.12910+-23.62377   ?   243.97893+-25.42121      ?
> closure                 1.33415+-0.04978          1.31586+-0.01641        
> might be 1.0139x faster
> jquery                 19.07025+-0.53929    ?    19.09152+-0.19186       ?
> box2d          x2      51.85309+-1.85458    ^    48.19905+-1.28055       ^
> definitely 1.0758x faster
> zlib           x2    1032.15644+-45.74028   ?  1042.08292+-25.20337      ?
> typescript     x2    2518.30688+-46.32575   ?  2529.74344+-47.34484      ?
> 
> <geometric>            17.67602+-0.16437         17.50267+-0.14981        
> might be 1.0099x faster
Comment 6 Saam Barati 2017-02-22 01:13:44 PST
Created attachment 302377 [details]
WIP

Needs a changelog. I'll make sure EWS likes this patch.
Comment 7 Build Bot 2017-02-22 04:25:11 PST
Comment on attachment 302377 [details]
WIP

Attachment 302377 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/3172040

New failing tests:
editing/spelling/spellcheck-async.html
Comment 8 Build Bot 2017-02-22 04:25:15 PST
Created attachment 302385 [details]
Archive of layout-test-results from ews101 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-elcapitan  Platform: Mac OS X 10.11.6
Comment 9 Saam Barati 2017-02-22 12:19:34 PST
Created attachment 302423 [details]
patch
Comment 10 Filip Pizlo 2017-02-22 12:22:58 PST
Comment on attachment 302423 [details]
patch

Nice!
Comment 11 WebKit Commit Bot 2017-02-22 13:54:00 PST
Comment on attachment 302423 [details]
patch

Clearing flags on attachment: 302423

Committed r212851: <http://trac.webkit.org/changeset/212851>
Comment 12 WebKit Commit Bot 2017-02-22 13:54:04 PST
All reviewed patches have been landed.  Closing bug.