leftmost-with-continuation

JavaScript performance comparison

Revision 4 of this test case created by Muzietto

Info

Seasoned Schemer in JS - This test compares the two versions of leftmost given in chapter 14. The first one is give in page 65. The second version (page 78) is optimized through a named variable and a continuation.

Preparation code

<script src="https://raw.github.com/Muzietto/geieslists/master/geieslists_1.0.js"></script>
<script src="https://raw.github.com/Muzietto/littleFunkyJavascripter/master/littleFunkyJavascripter_1.0.js"></script>
<script src="https://raw.github.com/Muzietto/seasonedFunkyJavascripter/master/seasonedFunkyJavascripter_0.1.js"></script>
 

Preparation code output

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
leftmost NOT optimized
// async test
(function () {
                var input = ArrayToList([[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],1],[[],[1,2]],2,3,2])
    var leftmost = leftmostFirstVersion(input);
    deferred.resolve();
}()
)
pending…
leftmost OPTIMIZED
// async test
(function () {
                var input = ArrayToList([[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],[[],[],[],[],[]],[[],[]],[]],[[],1],[[],[1,2]],2,3,2])
    var leftmost = leftmostCc(input);
    deferred.resolve();
}()
)
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment