
Mozilla's David Mandelin on Crankshaft - mbrubeck
http://blog.mozilla.com/dmandelin/2010/12/08/crankshaft/
======
thristian
I'm really looking forward to see what Crankshaft does on Mozilla's Kraken
benchmark:

<http://krakenbenchmark.mozilla.org/index.html>

Supposedly, Kraken has more long-running, sophisticated algorithms (like
'gaussian blur') that are kinder to TraceMonkey's tracing JIT than V8's
traditional JIT; if V8 now has a tracing JIT (or something that works much
along the same principles, it could be that Kraken becomes a two-horse race.

~~~
BonsaiDen
Chrome 9.0.587.0 dev:
[http://krakenbenchmark.mozilla.org/kraken-1.0/results.html?%...](http://krakenbenchmark.mozilla.org/kraken-1.0/results.html?%7B%22v%22:%20%22kraken-1.0%22,%20%22ai-
astar%22:%5B1112,1108,1107,1130,1107,1104,1104,1106,1104,1103%5D,%22audio-
beat-
detection%22:%5B3591,3648,3593,3602,3640,3588,3589,3589,3602,3604%5D,%22audio-
dft%22:%5B2733,2772,2712,2634,2667,2731,2677,2659,2562,2592%5D,%22audio-
fft%22:%5B3544,3526,3549,3539,3521,3542,3560,3526,3522,3593%5D,%22audio-
oscillator%22:%5B985,993,1001,987,1028,995,996,1029,999,1030%5D,%22imaging-
gaussian-
blur%22:%5B4098,4117,4326,4048,4280,4135,4314,4314,4021,4282%5D,%22imaging-
darkroom%22:%5B2827,2841,2858,2835,2861,2811,2801,2813,2831,2801%5D,%22imaging-
desaturate%22:%5B3176,3230,3226,3108,3287,3101,3214,3361,3316,3103%5D,%22json-
parse-financial%22:%5B467,461,457,457,468,459,457,476,440,472%5D,%22json-
stringify-
tinderbox%22:%5B471,443,440,440,464,446,439,455,438,440%5D,%22stanford-crypto-
aes%22:%5B544,534,534,532,541,539,539,522,536,538%5D,%22stanford-crypto-
ccm%22:%5B514,477,478,476,480,476,477,465,487,478%5D,%22stanford-crypto-
pbkdf2%22:%5B1484,1509,1500,1504,1515,1490,1495,1517,1495,1507%5D,%22stanford-
crypto-sha256-iterative%22:%5B501,500,503,504,503,501,503,503,500,500%5D%7D)

Chromium 10.0.605.0 (68575) with Crankshaft:
[http://krakenbenchmark.mozilla.org/kraken-1.0/results.html?%...](http://krakenbenchmark.mozilla.org/kraken-1.0/results.html?%7B%22v%22:%20%22kraken-1.0%22,%20%22ai-
astar%22:%5B399,411,401,401,399,401,401,403,399,415%5D,%22audio-beat-
detection%22:%5B2427,2520,2464,2569,2453,2502,2518,2446,2499,2431%5D,%22audio-
dft%22:%5B1508,1473,1467,1537,1514,1510,1494,1513,1506,1579%5D,%22audio-
fft%22:%5B2565,2599,2684,2449,2691,2737,2684,2553,2635,2555%5D,%22audio-
oscillator%22:%5B429,435,445,610,421,424,441,420,423,425%5D,%22imaging-
gaussian-blur%22:%5B654,672,654,658,642,647,721,649,661,656%5D,%22imaging-
darkroom%22:%5B1249,1306,1240,1242,1235,1231,1234,1232,1232,1234%5D,%22imaging-
desaturate%22:%5B1098,1102,1099,1171,1104,1102,1093,1104,1108,1101%5D,%22json-
parse-financial%22:%5B459,465,461,461,463,512,466,466,458,462%5D,%22json-
stringify-
tinderbox%22:%5B142,143,146,143,143,142,142,142,144,144%5D,%22stanford-crypto-
aes%22:%5B289,286,282,290,288,287,280,289,288,286%5D,%22stanford-crypto-
ccm%22:%5B281,271,287,277,277,274,277,294,280,277%5D,%22stanford-crypto-
pbkdf2%22:%5B408,402,398,406,401,371,405,401,373,403%5D,%22stanford-crypto-
sha256-iterative%22:%5B200,205,202,206,205,202,205,207,204,216%5D%7D)

Overall Crankshaft is 2.13x FASTER.

Ubuntu 10.04, old Core 2 Duo.

~~~
thristian
On my machine:

Chromium 10.0.604.0 (without Crankshaft):
[http://krakenbenchmark.mozilla.org/kraken-1.0/results.html?%...](http://krakenbenchmark.mozilla.org/kraken-1.0/results.html?%7B%22v%22:%20%22kraken-1.0%22,%20%22ai-
astar%22:%5B915,914,919,918,916,915,911,914,916,914%5D,%22audio-beat-
detection%22:%5B1788,1789,1808,1797,1821,1792,1792,1790,1850,1794%5D,%22audio-
dft%22:%5B2983,2934,3033,3001,2962,2977,3045,3047,3046,2905%5D,%22audio-
fft%22:%5B1754,1730,1728,1767,1764,1761,1754,1755,1756,1733%5D,%22audio-
oscillator%22:%5B789,789,830,778,795,797,799,796,798,785%5D,%22imaging-
gaussian-
blur%22:%5B3707,3726,3728,3676,3666,3724,3692,3680,3674,3705%5D,%22imaging-
darkroom%22:%5B2111,2289,2113,2099,2115,2104,2103,2103,2099,2094%5D,%22imaging-
desaturate%22:%5B2137,2177,2126,2123,2124,2127,2125,2131,2158,2126%5D,%22json-
parse-financial%22:%5B290,287,289,289,291,286,289,290,288,289%5D,%22json-
stringify-
tinderbox%22:%5B263,266,264,263,266,266,265,266,266,263%5D,%22stanford-crypto-
aes%22:%5B178,175,176,177,178,177,177,178,178,175%5D,%22stanford-crypto-
ccm%22:%5B143,143,143,143,142,142,142,142,143,141%5D,%22stanford-crypto-
pbkdf2%22:%5B354,347,356,338,333,331,331,344,331,332%5D,%22stanford-crypto-
sha256-iterative%22:%5B143,143,144,142,143,143,142,145,142,142%5D%7D)

Firefox/4.0b8pre from 20101208:
[http://krakenbenchmark.mozilla.org/kraken-1.0/results.html?%...](http://krakenbenchmark.mozilla.org/kraken-1.0/results.html?%7B%22v%22:%20%22kraken-1.0%22,%20%22ai-
astar%22:%5B1387,1388,1356,1416,1426,1387,1435,1392,1420,1392%5D,%22audio-
beat-detection%22:%5B981,785,866,875,846,850,878,871,875,846%5D,%22audio-
dft%22:%5B773,865,740,729,725,722,734,726,714,720%5D,%22audio-
fft%22:%5B691,674,671,669,686,667,668,665,669,675%5D,%22audio-
oscillator%22:%5B620,620,618,621,625,617,620,620,621,633%5D,%22imaging-
gaussian-blur%22:%5B809,805,7072,812,805,804,807,807,805,808%5D,%22imaging-
darkroom%22:%5B325,323,323,327,326,324,325,325,326,326%5D,%22imaging-
desaturate%22:%5B878,868,857,858,868,865,870,869,874,879%5D,%22json-parse-
financial%22:%5B181,176,177,175,177,174,176,179,186,179%5D,%22json-stringify-
tinderbox%22:%5B92,93,92,93,91,91,92,92,92,91%5D,%22stanford-crypto-
aes%22:%5B364,369,368,363,363,367,370,366,367,367%5D,%22stanford-crypto-
ccm%22:%5B228,228,227,228,226,227,229,226,228,226%5D,%22stanford-crypto-
pbkdf2%22:%5B503,473,477,477,480,475,475,481,486,481%5D,%22stanford-crypto-
sha256-iterative%22:%5B203,203,203,203,203,201,203,201,203,203%5D%7D)

Overall, Firefox is 2.08x faster.

Ubuntu 10.10 x86_64, on a Core 2 Duo 2.4GHz

Comparing these with your results, it sounds like the JS performance war just
got interesting again.

~~~
BonsaiDen
Huh, that's strange Firefox nightly here is slower than Crankshaft:

[http://krakenbenchmark.mozilla.org/kraken-1.0/results.html?%...](http://krakenbenchmark.mozilla.org/kraken-1.0/results.html?%7B%22v%22:%20%22kraken-1.0%22,%20%22ai-
astar%22:%5B2070,2281,2123,2528,2183,2254,2335,2437,2256,2314%5D,%22audio-
beat-
detection%22:%5B2418,2411,2402,2397,2398,2379,2423,2398,4003,2444%5D,%22audio-
dft%22:%5B1000,990,1000,1025,1006,1023,1090,1010,1056,1035%5D,%22audio-
fft%22:%5B1891,1848,1821,1853,1827,1820,1853,1820,1900,1847%5D,%22audio-
oscillator%22:%5B1027,1044,1033,1053,1052,1050,1028,1046,1063,1030%5D,%22imaging-
gaussian-
blur%22:%5B1242,1265,1271,1268,1268,1244,1266,1246,1284,1300%5D,%22imaging-
darkroom%22:%5B622,631,620,635,631,619,621,636,666,629%5D,%22imaging-
desaturate%22:%5B1276,1285,1284,1311,1324,1311,1267,1277,1274,1318%5D,%22json-
parse-financial%22:%5B403,401,409,415,409,410,402,409,415,402%5D,%22json-
stringify-
tinderbox%22:%5B146,146,145,145,147,147,147,147,156,147%5D,%22stanford-crypto-
aes%22:%5B464,467,448,460,460,451,458,529,471,472%5D,%22stanford-crypto-
ccm%22:%5B759,752,758,758,743,749,752,371,354,341%5D,%22stanford-crypto-
pbkdf2%22:%5B679,686,691,686,688,688,679,1052,730,679%5D,%22stanford-crypto-
sha256-iterative%22:%5B311,308,311,309,304,311,303,324,313,308%5D%7D)

~~~
thristian
I did mention my Chrome test was without Crankshaft - I'm using x86_64, and
Crankshaft isn't available for that platform yet.

Doing the comparison thing, apparently TraceMonkey is ~1.2x slower than
Crankshaft on your machine. Things are hotting up indeed!

~~~
sarjoor
Chrome with Crankshaft (which is currently only for 32-bit architecture) is
faster on Kraken than Firefox nightly.

<http://www.arewefastyet.com/awfy2.php?machine=9>

------
InclinedPlane
You gotta love competition between competent and confident engineers. Instead
of criticizing and denigrating the competition's accomplishments Mandelin
congratulates and analyzes the V8 team's successes.

~~~
kragen
It doesn't always work out that way. Check out Linus Torvalds' discussion of
Subversion or Dan Bernstein's discussion of Postfix, for example. Even though
Linus and Dan are competent and confident, they were very harshly critical of
their "competition".

~~~
InclinedPlane
Indeed, which is why I was highlighting an example of "doing it right" (aka
acting like mature professionals). Even when business issues don't get in the
way there's still plenty of room for personal and emotional issues to bring
down the level of discourse.

