Быстродействие JavaScript в браузерах

И ещё раз к теме быстродействия JavaScript. Jeff Atwood произвёл ряд JavaScript-тестов на разных браузерах. В результате получилась любопытнейшая картинка. Расшифровка тестов:

  • 3d — тест на основе библиотеки работы с 3D, написанной на JavaScript (испытывается —
  • быстродействие массивов и чисел с плавающей точкой)
  • access — массивы, свойства объектов, доступ к переменным
  • bitops — битовые операции на целых числах
  • controlflow — циклы, рекурсия, условия
  • crypto — криптоалгоритмы (AES, MD5, SHA1)
  • date — производительность при работе с объектом «Date»
  • math — различные математические операции
  • regpexp — регулярные выражения
  • string — работа со строками
Гистограмма времени выполнения кода в браузерах: Opera 9.5 — 5.4 с, Safari 3.0.4 — 6.6 с, Explorer 7 — 21.2 с, Firefox 2 — 10.5 с.

Хуже все справился IE7, но, если не принимать во внимание операции для работы со строками, он обгонит FireFox, который сейчас занимает предпоследнее место. В комментариях есть тестирование FireFox 3 b2, вцелом он справляется на 23% лучше, чем вторая версия, но на некоторых тестах проигрывает.

Комментарии 11

enternet.livejournal.com № 2
Так я не понял, причем тут IE7? Aффтар тестировал JScript 5.6 или JScript 5.7? Похоже он даже не знает что это. Тестировщик, блин.
Евгений Степанищев (bolknote.ru) автор № 4
Ты имеешь ввиду IE7 и IE7+? А что это принципиально изменит в тестах?
enternet.livejournal.com № 7
Я имею ввиду то, что IE и MS JScript engine — это разные вещи. Одно от другого никак не зависит. Да, с 99% вероятностью в тест попал движок 5.7. Но по хорошему говоря его можно проинсталлировать и к IE6. Качай с майкрософта и ставь. И наоборот, IE7 будет работать с 5.6.

Ещё раз — в отличие от конкурентов, JScript у майкрософта не встроен в браузер. Тестировщик некомпетентен.
Евгений Степанищев (bolknote.ru) автор № 8
Комментарий для enternet.livejournal.com:

Там написана ОС — Vista. Что в Windows есть JScript на котором можно писать скрипты, я знаю, писал ещё тогда, когда это ещё только появилось.