Создатель 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.

Источники[править]

Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Создатель JSON представил новый тест производительности JavaScript в web-браузерах», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.