Создатель JSON представил новый тест производительности JavaScript в web-браузерах
23 апреля 2011 года
Дуглас Крокфорд ( Douglas Crockford), создатель и популяризатор формата JSON, возглавляющий в компании Yahoo разработки, связанные с языком JavaScript, выступил(недоступная ссылка) с инициативой измерения действительной производительности JavaScript-движков современных веб-браузеров.
По мнению некоторых исследователей, проанализировавших скорость работы наиболее популярных веб-служб, обычные тестовые комплекты, такие как SunSpider (Архивная копия от 6 сентября 2008 на Wayback Machine), V8 (Архивная копия от 31 марта 2016 на Wayback Machine) и Dromaeo, Kraken, rwBench (Архивная копия от 9 ноября 2020 на Wayback Machine) и Peacekeeper (Архивная копия от 29 мая 2010 на Wayback Machine), являются синтетическими тестами и не отражают поведение реальных web-приложений. Результаты тестирования также искажаются из-за того, что производители браузеров при выпуске новой версии стремятся максимально оптимизировать выполнение операций, влияющих на скорость выполнения типовых тестов. Опасность такой оптимизации связана не столько с накруткой показателей, сколько с тем, что производительность реальных приложений часто остаётся за кадром, поэтому в некоторых ситуация web-разработчикам приходится подстраиваться под JavaScript-движки и для повышения производительности использовать сомнительные приёмы программирования. Дополнительно упоминаются программы, завязанные на операциях с DOM (Document Object Model), на скорость работы которых в основном влияет производительность работы API DOM, а не производительность JavaScript-движка.
Исправить ситуацию по мнению Дугласа может новый тест производительности, который был бы максимально приближен к работе больших и правильно написанных web-приложений. В качестве основы для проведения тестов было решено использовать развиваемый много лет пакет JSLint, отличающийся высоким качеством кода, достаточно сложной логикой работы и наличием типичных для обычных web-приложений операций, таких как разбор строк, выполнение регулярных выражений и применение шаблонов. JSLint предназначен для анализа JavaScript-кода, оценки его качества и автоматического выявления ошибок.
Измерив время проверки в JSLint собственных исходных текстов (размер выполняемого файла jslint.js составляет около 300 Кб или 6.5 тысяч строк кода), Дуглас получил неожиданные результаты, существенно расходящиеся с обычно используемыми тестовыми пакетами. Быстрее всего проверка была выполнена в браузере Internet Explorer 10, Firefox 4 и Opera 11 показали средние результаты, а медленнее всех оказался Chrome 10 (примечательно, что Chrome 10 лидирует при выполнении тестов SunSpider и V8):
- IE 10 - 0.562;
- Firefox 4.0.1 - 0.956;
- Safari 5.0.5 - 0.984;
- Opera 11.10 - 1.106;
- IE 9 - 1.159;
- Chrome 10 - 2.801.
Источники[править]
- Главная ссылка к новости (http://meme.yahoo.com/douglasc...)(недоступная ссылка)
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.