Сегодня существует множество браузеров и все они как-то борются друг с другом ради рынка. Основные игроки: Internet Explorer, Mozilla Firefox, Google Chrome, Safari. И на сегодня они друг у друга копируют внешний вид (все пытаются походить на Google Chrome) и все поголовно хвалятся кто из них лучше соответствует HTML 5, правда главное, что они в нем нахваливают — это тэг canvas.
Вот и получается, что все они практически одинаковы, но как-то ведь им надо выделяться, чтобы быть лучшими? А здесь есть еще кое-что, что они всегда нахваливают — скорость работы. Лет 10 назад под скоростью работы браузера подразумевалась скорость загрузки страницы (например, часть армии поклонников Opera как раз из за этой возможности). А вообще на сегодня важна работа Javascript, реализацией которого кичится каждый браузер. Они даже движкам Javascript дают свои имена и это становится их очередной торговой маркой. Вот именно та самая скорость работы Javascript и является сегодня основным достоинством того или другого браузера.
К написанию этой статьи я пришел после прочтения "Десяти вещей, которые вы не ожидали от HTML/Javascript". И был так сильно удивлен тому, что там даже рисовалась 3D-графика на JavaScript'е, что захотелось самостоятельно провести некоторые измерения производительности.
Я решил как раз сравнить эту скорость и провел маленькое исследование. Я написал программу поиска n простых чисел: не самая лучшая задача для вычисления производительности, но зато в ней участвует море различных элементов языка (числа с плавающей точкой, контейнеры, циклы, ветвления) и запустил её на различных платформах (браузерах, JVM, Linux). Ну и собственно результат представлю в виде коэффициентов:
По мимо прочего я проверял Firefox 3.6 (Ubuntu, Windows), Konqueror 4.4.2 (Ubuntu) и Internet Explorer 8, но их производительность была меньше на порядок. Здесь нет полноты всех возможных актуальных систем, а лишь некоторые из них, которые были мне удобны для запуска. Опять же некоторые выводы можно сделать из этих данных.
Использованные операционные системы: Ubuntu 10.04 x64, Windows 7 Home Premium x64
Исходный код программ: на JavaScript, на C++, на Java
Вот, таким образом получилось то, что выполнение Javascript, благодаря сложным механизмам JIT-компиляции на современных браузерах выдает производительность близкую к Java-приложениям или приложениям более низкого уровня.
Вот и получается, что все они практически одинаковы, но как-то ведь им надо выделяться, чтобы быть лучшими? А здесь есть еще кое-что, что они всегда нахваливают — скорость работы. Лет 10 назад под скоростью работы браузера подразумевалась скорость загрузки страницы (например, часть армии поклонников Opera как раз из за этой возможности). А вообще на сегодня важна работа Javascript, реализацией которого кичится каждый браузер. Они даже движкам Javascript дают свои имена и это становится их очередной торговой маркой. Вот именно та самая скорость работы Javascript и является сегодня основным достоинством того или другого браузера.
К написанию этой статьи я пришел после прочтения "Десяти вещей, которые вы не ожидали от HTML/Javascript". И был так сильно удивлен тому, что там даже рисовалась 3D-графика на JavaScript'е, что захотелось самостоятельно провести некоторые измерения производительности.
Я решил как раз сравнить эту скорость и провел маленькое исследование. Я написал программу поиска n простых чисел: не самая лучшая задача для вычисления производительности, но зато в ней участвует море различных элементов языка (числа с плавающей точкой, контейнеры, циклы, ветвления) и запустил её на различных платформах (браузерах, JVM, Linux). Ну и собственно результат представлю в виде коэффициентов:
- Linux Native Application (Ubuntu, g++ 4.4) — 1
- Java Application (Ubuntu, Oracle Java 6.20) — 1,53
- Firefox 4b6pre (Ubuntu) — 1,62
- Internet Explorer 9 beta (Windows) — 1,87
- Google Chrome 6.0.472 (Windows, Ubuntu) — 2,09
- Opera 10.64 (Ubuntu) — 2,93
- Firefox 4b5 (Windows) — 3,12
- Safari 5.0.3 (Windows) — 4,37
По мимо прочего я проверял Firefox 3.6 (Ubuntu, Windows), Konqueror 4.4.2 (Ubuntu) и Internet Explorer 8, но их производительность была меньше на порядок. Здесь нет полноты всех возможных актуальных систем, а лишь некоторые из них, которые были мне удобны для запуска. Опять же некоторые выводы можно сделать из этих данных.
Использованные операционные системы: Ubuntu 10.04 x64, Windows 7 Home Premium x64
Исходный код программ: на JavaScript, на C++, на Java
Вот, таким образом получилось то, что выполнение Javascript, благодаря сложным механизмам JIT-компиляции на современных браузерах выдает производительность близкую к Java-приложениям или приложениям более низкого уровня.