разработчик
0,0
рейтинг
28 октября 2014 в 16:51

Разработка → Движок SpiderMonkey обошел V8 на собственном тесте Google

Об этом с гордостью сообщил в своём блоге один из разработчиков Mozilla Роберт О'Кэллахэн. Хотя сам по себе факт победы одного из движков JavaScript в гонке синтетических тестов скорости сам по себе значит не очень много, примечательно, что на этот раз программистам Mozilla удалось побить Google на их же территории — тест Octane был разработан именно для гугловского движка V8.



Думаю, что Google долго терпеть такое положение дел не будет, и придумает, как ещё немного ускорить V8. Нам всем от этого будет только лучше — за последние несколько лет гонка скорости браузеров и движков JavaScript привела к тому, что некогда один из самых медленных интерпретируемых языков программирования стал одним из самых быстрых.
Илья Сименко @ilya42
карма
526,7
рейтинг 0,0
разработчик
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (28)

  • +33
    Неплохо бы прокомментировать эти попугаи. Больше-лучше, или больше-хуже?
    И почему ось роста попугаев направлена вниз?
    • 0
      Больше (ниже) — лучше. Там есть ещё другие тесты, которые меряют время, в них меньше (ниже) — лучше. В этом тесте направили ось вниз, чтоб можно было все графики просматривать, не переключая режимы мозга — во всех чем ниже линия, тем лучше.
      • +4
        Обычно больше = лучше, а рост — это влево и вверх.
        На этом графике не понятно где 100% и как соотносятся цифры: на самом деле FF в 1.5 раза быстрее Safari и в 7 раз быстрее чем Chrome (v8-turbofan), а по графику я бы сказал что в 2 и в 10 раз
        • +2
          Этот график рисовали для того, чтоб его воспринимать в контексте, а не отдельно. Пойдите гляньте arewefastyet.com/

          Ну и это график больше для внутреннего употребления, а не для внешнего. В таком случае важны не абсолютные числа, и даже не соотношения, а изменения выше или ниже. Например, для того, чтоб можно было приблизительно понимать, какие изменения дали какой выигрыш.
  • +1
    Если я правильно понял цифры на графике, то Firefox обошёл Chrome на тесте octane ещё 4 октября. А на других тестах — ещё раньше.
  • 0
    Было бы неплохо, если бы разработчики Firefox и Chrome мерялись не только попугаями.
    На MPB (retina) они заметно (оба браузера) отстают в скорости отрисовки по сравнению с Safari. Хотя формально в BrowserMark очков больше.
    • 0
      А на какой ОС отстают и при каких настройках кэшей/соединений?
  • –37
    Он пока не стал одним из самых быстрых. php по скорости ещё не обогнал.
      • 0
        разве hhvm не исправил ситуацию?
        конечно это другая реализация языка, но все же))
        • +1
          Если любить прирост в процентах или разах — то да, на синтетике тоже все хорошо
          Но в абсолютном выражении все не так уж и весело —
          на средней тяжести сайте на базе вордпресса против php-fpm(+apc) прирост около 50%: 2.3 rps вместо 1.5 rps, ценой дополнительных 300 с лишним метров памяти,
          когда впервые увидел цифры — ужаснулся, в итоге выбран вариант «экономим память и жестко кешируем», а hhvm ушел под снос

          Хотя если все остальные способы оптимизации уже исчерпаны и проект совместим — то да, вполне подходящий метод получить еще немного производительности в обмен на оперативу
    • 0
      Простите мою неграмотность, но разве php и js Не на разных полях играют?
      Я думал php серверный скрипт, а js — клиентский…
      • +12
        Node.js? Rhino?
        • +3
          Но ведь статья про движок Фаерфокса. То есть клиентский движок. Разве php умеет на клиенте?
          • +7
            Причём тут клиент или сервер? Сравнивается скорость работы VM.
            • +4
              Понятно. Спасибо.
          • +1
            Реализация жаваскрипта ФФ существует отдельно от браузера, можно запустить в консоли, например. Или прилинковать к своему приложению, неважно, клиентскому или серверному.

            В MongoDB сначала использовали именно этот движок, потом перешли на V8.

            Был какой-то порт Node.js на Spidermonkey, но заглох т.к. не нашел целевой аудитории (оказалось, что всем пофиг).
      • +1
        Забавно
        V8 vs Dart
  • +1
    В августе в публичную ветку v8 был добавлен Turbofan -новый оптимизирующий компилятор. Использует sea of nodes IR, который был разработан первично для server-компилятора Java. По идее это и есть тот самый ответ и, что примечательно, v8 Turbofan есть в легенде графика, но его нет на самом графике. Edit: хах, оказывается он есть, но в самом верху, где его совсем не ожидаешь увидеть. Феерически странно, неужто google настолько налажал?
    • +2
      Москва не сразу строилась, дайте им время. :)
  • +1
    Что примечательно, как сафари догоняет octane на 64-bit машине. Всегда думал, что Chrome это хорошо, пока не поймал его несколько раз считающим что-то на моем ноуте.
  • 0
    У меня ИЕ выдаёт точно такой же результат, как FF с небольшим отклонением. 22253 в IE против 22268 в FF nightly. Хром теперь самый медленный?
    • 0
      У меня хром 38 выдаёт почти 38000. Возможно, для правильного сравнения, железо компьютера в разных тестах должно быть одинаковым.
      • 0
        Очевидно да.
  • 0
    > некогда один из самых медленных интерпретируемых языков программирования стал одним из самых быстрых

    Помнится, когда-то в воздухе висела надежда, что вот-вот, и придумают процессор, который железом сможет исполнять Java, и мы получим новый язык для ОС и драйверов, безопасный и интересный. Правда, со скоростью было как-то не очень, но все надеялись, что уж исполнение программ на Яве напрямик процессором сделает ее просто летающей по скорости.

    Сегодня, когда JavaScipt, которого никогда в лидеры по скорости не прочили, становится все быстрее и быстрее, а приложения на нем помогают крупным компаниям выживать на 1/10 от числа серверов, которые бы понадобились для той же задачи ПО на Яве, как-то подумал — а ведь Гугл размахнется, и однажды реализует то, что Sun не потянул, с процессорами этими (только для JS, конечно) :)
    • +2
      На какой-то конференции представителя Intel спросили по поводу процесора для выполнения Java, он сказал, что проблем создать такой процессор нет, но он просто никому не нужен.
      • –1
        Надо разделять «нет проблем сделать» и «мы сделали» :) Во втором случае тот, кто сделал и дал сделанное людям, часто меняет развитие жизни людей.

        Что же касается процессоров для Java, то этот Неуловимый Джо, и правда, мог особо не внушать оптимизма в смысле что он хоть кому-то нужен. С другой стороны, «нет товара — нет спроса — нет желания разрабатывать — нет товара...» и так по кругу, пока не приходит кто-то, что «знает как и зачем», и говорит «мы будем делать то-то и то-то», и оно выстреливает.

        Спасибо V8, JS на сервере оказался по-настоящему асинхронным, шустрым и смог найти свое место — а тут и очередной виток расцвета веба подоспел. Нужно ли больше скорости (читай — нужно ли вместо v8 поверх обычных ОС и железа серверов порождать JS-only процессоры) — это вопрос. Я только опасаюсь, что не так и много клиентов готовы купить JS-only сервер…
    • 0
      На счёт 1/10 это с какой практики информация?)
      Ява, хорошо собранная, запущенная и развёрнутая всё-таки невероятно быстра и надёжна. Жёсткий стандарт Java языка, гарантия обратной совместимости, это всё даёт крепкий фундамент языку. А что мы имеем с точки зрения серверной платформы для яваскрипта?
      — Документация паршивая.
      — Поведение памяти при работе с крупными массивами и списками… Ох да простят меня все, кого я вспомнил проходя через это.
      — Модули, которые платформозависимые и при этом оградить себя от этого принципиально нельзя.
      — Никаких гарантий. Никаких лицензий. Поддержка без гарантий. Множество базовых модулей в статусе unstable.

      Я не говорю, что язык или реализация плохи, но не скорость мешает ему повзрослеть. Ява будь даже медленнее яваскрипта имеет сейчас неоспоримый фундамент, которого нет у последнего. Его бы нарастить, а не скорость)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.