[webkit-dev] JavaScriptCore slowdown

Rodney Dowdall rdowdall at cranksoftware.com
Sun Jun 28 07:27:31 PDT 2015


So I ran the browser bench samples and the 184845 performed pretty well 
there.  I couldn't run it with the 145828 version as it crashed in 
MarkBlock.isLive() while running the test.

I then remembered that we compile our port with -Os instead of -O3. I 
figured this may have an impact on the inlining of code, so I recompiled 
our port with -O3 and the improvement on the SunSpider tests were 
dramatic.  It went from an overall score of 511 to 306. So I think what 
I was seeing was a result of the -Os option.

The only other question I have is if there is some sort of throttle on 
the JavaScript callbacks.  The reason I ask is because no matter what I 
do, the following page:

http://bubblemark.com/dhtml.htm

I only get 60 fps.  For this page the "fps" is a bit of misnomer because 
they are just measuring the number of times they get a call in to their 
JavaScript code.  It doesn't seem to matter how many balls I draw on the 
screen, I always get 60 fps .

Thanks,
Rodney

On 06/24/2015 05:56 PM, Filip Pizlo wrote:
> Couple of thoughts:
>
> 1) That’s unexpected.  You should file a bug on bugs.webkit.org 
> <http://bugs.webkit.org>.
>
> 2) SunSpider isn’t the best way to measure performance anymore.  Try 
> one of the tests on http://browserbench.org instead, they are more 
> modern and we tend to use those instead of SunSpider these days.
>
> -Filip
>
>
>> On Jun 24, 2015, at 2:10 PM, Rodney Dowdall 
>> <rdowdall at cranksoftware.com <mailto:rdowdall at cranksoftware.com>> wrote:
>>
>> Hello
>>
>> I have two ports of WebKit.  The first is based off of revision 
>> 145828 and the second is based off of 184845.  I have compiled these 
>> ports for Linux x86 32 bit.  I would like to know why the port based 
>> on revision 145828 is faster at running the JavaScriptCore tests.  I 
>> have the DFG JIT enabled for both, and I do not have the FTL JIT 
>> turned on (obviously because it is not supported for 32  bit builds). 
>>  I was wondering if maybe I need to enable another setting the 184845 
>> revision, but I think I have turned on all of the JavaScriptCore 
>> enablements that I can.  I can post these if it makes sense for me to 
>> do so.  Here are the numbers that I am getting from the two builds. 
>>  I am just wondering if this is what I should expect.
>>
>> 184845 Webkit
>>
>> Total:          522.9ms +/- 4.3%
>>
>> 3d:            115.8ms +/- 10.2%
>>   cube:        57.1ms +/- 13.8%
>>   morph:        26.5ms +/- 10.2%
>>   raytrace:        32.2ms +/- 4.5%
>>
>> access:            45.3ms +/- 7.7%
>>   binary-trees:    6.0 ms +/- 7.9%
>>   fannkuch:        17.0 ms +/- 10.5%
>>   nbody:        16.9 ms +/- 8.8%
>>   nsieve:        5.4 ms +/- 9.3%
>>
>> bitops:            17.2 ms +/- 12.8%
>>   3bits-bits-in-byte:    3.6 ms +/- 31.3%
>>   bits-in-byte:    4.4 ms +/- 15.7%
>>   bitwise-and:        3.5 ms +/- 14.4%
>>   nsieve-bits:        5.7 ms +/- 8.5%
>>
>> controlflow:        6.2 ms +/- 4.9%
>>   recursive:        6.3 ms +/- 4.9%
>>
>> crypto:            57.9 ms +/- 4.8%
>>   aes:            20.6 ms +/- 5.2%
>>   md5:            23.5 ms +/- 4.8%
>>   sha1:        13.8 ms +/- 5.3%
>>
>> date:            61.9 ms +/- 3.5%
>>   format-tofte:    29.6 ms +/- 3.3%
>>   format-xparb:    32.3 ms +/- 3.9%
>>
>> math:            33.4 ms +/- 5.1%
>>   cordic:        6.4 ms +/- 14.1%
>>   parial-sums:        22.3 ms +/- 4.5%
>>   spectral-norm:    4.7 ms +/- 10.3%
>>
>> regexp:            12.2 ms +/- 3.7%
>>   dna:            12.2 ms +/- 3.7%
>>
>> string:            173.0 ms +/- 2.2%
>>   base64:         13.1 ms +/- 4.8%
>>   fasta:         32.6 ms +/- 3.3%
>>   tagcloud:         32.5 ms +/- 3.3%
>>   unpack-code:         76.3 ms +/- 2.3%
>>   validate-input        18.5 ms +/- 2.0%
>>
>>
>> 145828 WebKit
>> Total:            377.0 ms +/- 1.1%
>>
>> 3d:            56.2 ms +/- 3.1%
>>   cube:        20.7 ms +/- 6.7%
>>   morph:        15.8 ms +/- 2.9%
>>   raytrace:        19.7 ms +/- 2.4%
>>
>> access:            26.3 ms +/- 2.9%
>>   binary-trees:    2.1 ms +/- 10.8%
>>   fannkuch:        11.2 ms +/- 5.9%
>>   nbody:               8.3 ms +/- 4.2%
>>   nsieve          4.7 ms +/- 14.4%
>>
>> bitops:            19.3 ms +/- 4.6%
>>   3bits-bits-in-byte:    2.1 ms +/- 10.8%
>>   bits-in-byte:    11.2 ms +/- 14.6%
>>   bitwise-and:        5.1 ms +/- 4.4%
>>   nsieve-bits:        8.1 ms +/- 2.8%
>>
>> controlflow:        3.2 ms +/- 9.4%
>>   recursive:        3.2 ms +/- 9.4%
>>
>> crypto:            31.2 ms +/- 3.4%
>>   aes:            14.6 ms +/- 7.4%
>>   md5:            9.5 ms +/- 4.0%
>>   sha1:        7.1 ms +/- 3.2%
>>
>> date:            64.8 ms +/- 3.7%
>>  format-tofte:        29.4 ms +/- 5.0%
>>  format-xparb:         35.4 ms +/- 3.2%
>>
>> math:            39.8 ms +/- 3.8%
>>   cordic:        5.8 ms +/- 5.2%
>>   partial-sums:    30.2 ms +/- 4.7%
>>   spectral-norm:    3.8 ms +/- 14.8%
>>
>> regexp:            11.6 ms +/- 5.2%
>>   dns:            11.6 ms +/- 5.2%
>>
>> string:            124.6 ms +/- 1.8%
>>   base64:        12.6 ms +/- 6.7%
>>   fasta:        22.3 ms +/- 6.4%
>>   tagcloud:        24.8 ms +/- 4.0%
>>   unpack-code:        49.3 ms +/- 2.75
>>   validate-input:    15.6 ms +/- 4.4%
>>
>> Thanks,
>> Rodney
>>
>> _______________________________________________
>> webkit-dev mailing list
>> webkit-dev at lists.webkit.org <mailto:webkit-dev at lists.webkit.org>
>> https://lists.webkit.org/mailman/listinfo/webkit-dev
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-dev/attachments/20150628/09c05ffa/attachment.html>


More information about the webkit-dev mailing list