[Webkit-unassigned] [Bug 155551] Pathological performance on first execution of a function called with mismatched argument count

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Mar 16 12:11:29 PDT 2016


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

--- Comment #2 from Oliver Hunt <oliver at apple.com> ---
Ok, so passing extra is still penalized, but nowhere near the same extent.

Also, if we call with extra arguments initially the no arguments case remains much more expensive.

Derp, timings in initial report were in a debug build, but that just makes the failure more apparent. Below timings are in a trunk release build and they're still showing a 4x hit.

A more curious failure is 

function f(j) { for (var i = 0 ; i < 10000000; i++) j = (j ?  j * i : 1) ^ (i & j); }; 
var start = new Date; f(1,2); var end = new Date; print("1st: " + (end - start) + "ms"); 
var start = new Date; f(); var end = new Date; print("2nd: " + (end - start) + "ms"); 
var start = new Date; f(); var end = new Date; print("3rd: " + (end - start) + "ms"); 
var start = new Date; f(); var end = new Date; print("4th: " + (end - start) + "ms"); 
var start = new Date; f(1,2); var end = new Date; print("5th: " + (end - start) + "ms"); 
var start = new Date; f(1); var end = new Date; print("6th: " + (end - start) + "ms")


Produces 

1st: 79ms
2nd: 410ms
3rd: 414ms
4th: 411ms
5th: 121ms
6th: 111ms

Implying hard failure after the initial excess argument compilation.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160316/3ac3c64b/attachment.html>


More information about the webkit-unassigned mailing list