javascript - Why would Safari offer nearly opposite results here? -
test here: http://jsperf.com/test-for-speed-of-various-conditionals
i'm interested if others getting same results, , people might think of why results vary (esp. w/ safari) across browsers. interesting how democratically firefox handles various cases.
please inform if there terribly wrong methodology :)
firefox 3.6/mac osx 10.64: switch = 824,352 ops/sec (14% slower)
if/else = 530,062 (44% slower, slowest)
hash/lazy = 968,035 (fastest)
hash/if/else = 963,765 (0% slower)
chrome 6.0.472.63/mac osx 10.64:
switch = 10,220,039 ops/sec (62% slower)
if/else = 7,744,284 (71% slower, slowest)
hash/lazy = 27,130,039 (fastest)
hash/if/else = 25,297,370 (6% slower)
safari 5.0.2/mac osx 10.64:
switch = 15,044,132 ops/sec (fastest)
if/else = 1,793,051 (88% slower, slowest)
hash/lazy = 10,381,941 (30% slower)
hash/if/else = 11,119,576 (26% slower)
opera 10.10/mac osx 10.64:
switch = 497,238 ops/sec (32% slower)
if/else = 250,904 (66% slower, slowest)
hash/lazy = 740,520 (fastest)
hash/if/else = 634,424 (14% slower)
msie 8.0/windows nt:
switch = 176,267 ops/sec (60% slower)
if/else = 124,783 (72% slower, slowest)
hash/lazy = 447,421 (fastest)
hash/if/else = 442,736 (14% slower)
javascript has specification doesn't define implementation; it's browser vendors determine how implement spec (which leads plenty of cross-browser issues, though they're getting better lately). it's probable way various browsers implement various methods you're using differ.
Comments
Post a Comment