The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Сравнение производительности JavaScript в популярных браузерах

21.12.2007 12:29

Jeff Atwood проанализировал производительность JavaScript движков в последних версиях популярных web-браузеров.

Наилучшую производительность продемонстрировал браузер Opera 9.5 (тесты выполнены за 5.4 сек.), затем следует Safari 3.0.4 (6.6 сек.), далее - Firefox 2 (10.5 сек.) и в конце списка IE 7 (21.2 сек). Стоит заметить, что если бы не проблемы с выполнением операций со строковыми данными, IE бы опередил Firefox, так как суммарно 8 тестов из 9 он выполнил быстрее.

Отдельно была измерена производительность Firefox 3 beta2, который оказался быстрее Firefox 2 на 25%.

  1. Главная ссылка к новости (http://www.codinghorror.com/bl...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/13388-web
Ключевые слова: web, browser, benchmark, speed
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (23) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, XoYm (?), 13:15, 21/12/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    IE бы опередил Firefox, так как по остальные 8 тестов он выполнил быстрее.
    уполз пацстол :)
     
  • 1.2, Frei (??), 13:57, 21/12/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Бред!

    Я не знаю как они делают эти тесты, но Опера ЖУТКО тормозит при работе с JS.

    Я сам постоянно пользуюсь Оперой - отличны браузер, но с JS плохо работает.

    Вероятно они делали тест для вычислений, но ктож на JS делает серьёзные вычисления. JS в основном используют для "прорисовки", для работы с HTML страницами.

     
     
  • 2.3, uldus (ok), 14:13, 21/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Да, странно как-то в opera javascript работает, например livejournal.com читать невозможно, при чтении комментов процессор начинает под 100% грузить.

     
     
  • 3.6, BOLK (?), 14:35, 21/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Обновите Оперу
     
  • 3.7, pawnhearts (?), 14:46, 21/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    это потому что в жж без головы люди
     
     
  • 4.9, uldus (ok), 15:22, 21/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    2BOLK:

    И так последняя, новее только бета 8.5.

     
     
  • 5.10, KBAKEP (??), 15:43, 21/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Так её (9.50) и тестировали.
     
  • 3.14, hightower (?), 19:16, 21/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    На P3-800 и Opera 9.25, некоторые блоги в ЖЖ вообще не скроляться оО
     
  • 2.5, BOLK (?), 14:34, 21/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Что значит «не знаю»? Прочитайте, посмотрите тест, там всё есть.
     

  • 1.4, Аноним (4), 14:18, 21/12/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лично мне нужна не производительность а безопасность и надежность.
     
     
  • 2.8, Аноним (4), 15:09, 21/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Лично мне нужна не производительность а безопасность и надежность.

    Выключи компьютер! Срочно! :) Ты что, не слышал про уязвимость, например, в flashplayer'e, после которой _любой_ браузер небезопасен? Мой выбор - ff - благодаря удобству работы. Безопасность для любого браузера достигается путём своевременного обновления всех элементов операционной системы.

     
     
  • 3.11, Аноним (4), 15:56, 21/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >>Лично мне нужна не производительность а безопасность и надежность.
    >
    >Выключи компьютер! Срочно! :) Ты что, не слышал про уязвимость, например, в
    >flashplayer'e, после которой _любой_ браузер небезопасен? Мой выбор - ff -
    >благодаря удобству работы. Безопасность для любого браузера достигается путём своевременного обновления
    >всех элементов операционной системы.

    Какие мы энергичные
    несколько замечаний по поводу FF
    юзаю очень давно, и замечаю что с каждой новой версией браузер становится
    более ресурсоемким и глючным
    по поводу утечек памяти .. вопрос до сих пор остается открытым
    у меня рядом коллега юзает оперу
    открыто просто дохрена вкладок комп включен постоянно - проблем у него нет
    мне-же приходится комп ребутать как минимум один раз в три недели именно из-за того
    что FF просто зависает - жрет память и проц на 70% ничего при этом не делая.
    Плагинов и прочей мишуры в FF не установлено поэтому не надо кивать на утечки памяти
    из-за разных обвесок

    Итого чую что такими темпами через год придется подбирать другой браузер

     
     
  • 4.12, Аноним (4), 16:38, 21/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >
    >мне-же приходится комп ребутать как минимум один раз в три недели именно
    >из-за того
    >что FF просто зависает - жрет память и проц на 70% ничего
    >при этом не делая.
    >Плагинов и прочей мишуры в FF не установлено поэтому не надо кивать
    >на утечки памяти
    >из-за разных обвесок
    >
    >Итого чую что такими темпами через год придется подбирать другой браузер

    cat /proc/cpuinfo
    processor       : 0
    vendor_id       : AuthenticAMD
    cpu family      : 15
    model           : 67
    model name      : AMD Processor model unknown
    stepping        : 3
    cpu MHz         : 3006.388
    cache size      : 1024 KB
    ....
    processor       : 1
    vendor_id       : AuthenticAMD
    .....
    bogomips        : 6011.69
    clflush size    : 64
    ____
    cat /proc/meminfo
    MemTotal:      2059528 kB
    MemFree:        308884 kB
    Buffers:         26132 kB
    Cached:         425196 kB
    SwapCached:     130392 kB
    Active:        1365668 kB
    ....
    ____
    uptime
    15:25:38 up 7 days,  4:47, 16 users,  load average: 1.43, 1.01, 1.05
    ____
    ps ax | grep firefox
    7722 pts/9    S+     0:00 grep firefox
    11883 ?        Ssl    7:39 /usr/lib/firefox/firefox-bin
    11916 ?        Ssl    7:22 /usr/lib/firefox/firefox-bin
    16575 ?        Ssl    6:25 /usr/lib/firefox/firefox-bin
    32532 ?        Ss     0:00 /bin/sh /usr/bin/firefox_fast
    32533 ?        Sl    12:02 /usr/lib/firefox/firefox-bin
    32664 ?        Sl    52:18 /usr/lib/firefox/firefox-bin ...
    ____
    Сервер перезагружается только при пропадании света хотябы на минут пять. Юзеры закрывают ff когда идут домой, причём один из них не отлогинивался три дня и три дня не перезапускал браузер, В моём ff сейчас 13 вкладок, и это ещё немного для меня. Плагинов aka расширений много, у меня 18, и у остальных немало.
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.11) Gecko/20061201 Firefox/2.0.0.11 (Ubuntu-feisty)
    ____
    Так может у тебя виндовс?

     
     
  • 5.13, Nas_tradamus (??), 18:07, 21/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    > 52:18 /usr/lib/firefox/firefox-bin ...
    >____
    >Сервер перезагружается только при пропадании света хотябы на минут пять. Юзеры закрывают
    >ff когда идут домой, причём один из них не отлогинивался три
    >дня и три дня не перезапускал браузер, В моём ff сейчас
    >13 вкладок, и это ещё немного для меня. Плагинов aka расширений
    >много, у меня 18, и у остальных немало.
    >Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.11) Gecko/20061201 Firefox/2.0.0.11 (Ubuntu-feisty)
    >____
    >Так может у тебя виндовс?

    У меня Kubuntu 7.04 со всеми апдейтами - FF периодически (хотя бы раз в 3-4 дня) вешает всю систему. Да еще так вешает, что нет возможности сделать killall firefox-bin.

     
     
  • 6.15, weldpua2008 (ok), 20:59, 21/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >>дня и три дня не перезапускал браузер, В моём ff сейчас
    >>13 вкладок, и это ещё немного для меня. Плагинов aka расширений
    >>много, у меня 18, и у остальных немало.
    >>Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.11) Gecko/20061201 Firefox/2.0.0.11 (Ubuntu-feisty)
    >>____
    >>Так может у тебя виндовс?
    >
    >У меня Kubuntu 7.04 со всеми апдейтами - FF периодически (хотя бы
    >раз в 3-4 дня) вешает всю систему. Да еще так вешает,
    >что нет возможности сделать killall firefox-bin.

    Сер знает что есть ssh?
    Заходим по ssh --> su --> top и смотрим что и где жрёт

     
     
  • 7.16, Andrew (??), 22:59, 21/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >>У меня Kubuntu 7.04 со всеми апдейтами - FF периодически (хотя бы
    >>раз в 3-4 дня) вешает всю систему. Да еще так вешает,
    >>что нет возможности сделать killall firefox-bin.
    >
    >Сер знает что есть ssh?
    >Заходим по ssh --> su --> top и смотрим что и где жрёт

    Топ не покажет, у меня Ubuntu 7.10 FF3.0bR2. Тоже замечал пару зависов,
    это проблемы сайтов из-за кривизны авторов.
    Почисти кеш и сделай его поменьше и запусти до зависания, а потом прибей.А потом в кеше (about:cache) посмотри ссылки и подергай их, на каких зависнет - отправь разработчикам мозиллы.

     
  • 7.19, jktu (??), 23:08, 22/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    А Вы знаете, что ssh при этом тоже не пускает?
    Аналогичная ситуация и у меня (Fedora7, FF 2.0.0.3).
    Пришлось привесить в крон убийство ФФ в 12 ночи (Забыл - не забыл выключить, но ФФ все равно умрет ночью)
    :)
     
  • 7.20, Nas_tradamus (??), 18:57, 23/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >>>Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.11) Gecko/20061201 Firefox/2.0.0.11 (Ubuntu-feisty)
    >>>____
    >>>Так может у тебя виндовс?
    >>
    >>У меня Kubuntu 7.04 со всеми апдейтами - FF периодически (хотя бы
    >>раз в 3-4 дня) вешает всю систему. Да еще так вешает,
    >>что нет возможности сделать killall firefox-bin.
    >
    >Сер знает что есть ssh?
    >Заходим по ssh --> su --> top и смотрим что и где жрёт

    Зачем мне к тачке, за которой я работаю, подключаться по ssh? :)
    И top я не могу сделать по той же причине, что и killall firfox-bin - KDE тупо висит и не реагирует ни на какие действия.

    ctrl+alt+f1 я тоже не могу сделать - у меня Кубунта глючная какая-то: если перешел в терминальный режим, то обратно в X не вернешься :) (все руки не доходят ОС нормальную поставить).

     

  • 1.17, Pilat (?), 12:47, 22/12/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тестировать надо не просто JavaScript, а отдельные его элементы. К примеру, поиск в DOM по id FireFox выполняет во много раз быстрее, чем IE - и все тесты с количеством таких поисков ~1000 будут на порядки быстрее в FF; Safari использует, в отличии от IE и FF неблокируемый (почти) рендерер, например при добавлении  1000 картинок с relative позиционированием (а может и с абсолютным - не проверял) FF и IE блокируются до окончания создания DOM, а в Safari процесс добавления виден.
    Тестировать надо только большие циклы - а тут IE сильно проигрывает, очень сильно.

    И все эти тесты не объясняют, почему нельзя компилировать JavaScript в нормальный байт-код.

     
     
  • 2.18, Pilat (?), 13:11, 22/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Вот примитивный тест, сразу показывающий что у кого лучше или хуже. И при реальной разработке именно такими тестами приходится пользоваться, xnj.s определить пути увеличения производительности во всех браузерах.

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <HEAD>
    <script src="http://jqueryjs.googlecode.com/files/jquery-1.2.1.min.js" type="text/javascript"></script>
    <script  type="text/javascript" >
    var n=1000;
    var id={};
    function test1(){
    var d1 = new Date();
    for( var i=0; i<n;i++){
    $("#frm1").append('<input id="checkbox'+i+'" type="checkbox">'+i);
    }
    var d2 = new Date();
    $('#divLog').append("<p>Test1: "+(d2-d1));
    }
    function test2(){
    var d1 = new Date();
    for( var i=0; i<n;i++){
    $("#checkbox"+i).attr('checked','checked');
    }
    var d2 = new Date();
    $('#divLog').append("<p>Test2: "+(d2-d1));
    }
    function test3(){
    var d1 = new Date();
    for( var i=0; i<n;i++){
    id[i] = $("#checkbox"+i);
    }
    var d2 = new Date();
    $('#divLog').append("<p>Test3: "+(d2-d1));
    }
    function test4(){
    var d1 = new Date();
    for( var i=0; i<n;i++){
    id[i].attr('checked','checked');
    }
    var d2 = new Date();
    $('#divLog').append("<p>Test4: "+(d2-d1));
    }
    </script>
    </HEAD>
    <body>
    <div id="divLog"></div>
    <form id="frm1">
    <input type="button" onclick="test1();" value="test1-createcheckboxes">
    <input type="button" onclick="test2();" value="test2-setcheckboxes">
    <input type="button" onclick="test3();" value="test3-cacheid">
    <input type="button" onclick="test4();" value="test4-setcheckboxes-usecachedid">
    <p>
    </form>

    </BODY>
    </HTML>

     

  • 1.21, Денис (??), 17:25, 24/12/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Опенсурс форева, но опера пока лучше.
    Жду когда ФФ догонит. Надеюсь скоро
     
     
  • 2.22, Аноним (-), 04:33, 28/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    По размеру он Оперу догонит не скоро...
     
  • 2.23, Аноним (-), 04:36, 28/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Опенсурс форева, но опера пока лучше.
    >Жду когда ФФ догонит. Надеюсь скоро

    По размеру он Оперу давно "перегнал", а догонит, думаю, не скоро...

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру