Новый движок JavaScript от Apple

    Несколько дней назад разработчики Safari анонсировали новый движок JavaScript — SquirrelFish (БелкоРыба, или для большей русско–звучности Рыба–Белка).

    SquirrelFish значительно опережает по производительности JS машины, которые используется в WebKit 3.0 и 3.1 (порядка 60% быстрее). Более того, он на 46% быстрее, чем SpiderMonkey, движок используемый Mozilla в текущих версиях FireFox, и на 52% быстрее Tamarin, который используется в Adobe Flash 9 и портируется для использования в FireFox.

    David Mandelin написал очень интересный пост, анализирующий то, за счет чего SquirrelFish добился таких результатов. Коротко — используя технологии не очень стандартные для «классического» интерпретатора (в особенности, построив интерпретатор с использованием регистров, а не стэка и прямую адресацию потоков).

    По следам этого анализа появились даже предположения, что Apple расстанется с AppleScript как средой скриптования в Mac OS и полностью перейдет на JavaScript.
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

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

    Комментарии 49

      0
      Уже сейчас сижу на Safari под виндой, потому что как-то случайно просматривал тесты на быстродействие и safari оказался далеко впереди остальных браузеров.

      http://javascript.ru/optimize/javascript… - если кому-то интересно убедиться.
        +5
        да, и теперь у вас все на 2ms работает быстрее
          +2
          При малом количестве скрипта - да. Скорее даже самовнушение играет большую роль.
          Однако при больших объемах JS разниза гораздо больше чем 2ms.
            +1
            ага, можно тестировать на jquery. если тяжелая страница и навороченные правила, то можно заторомозить любой комп с любым браузером ;)
              0
              Ну не просто так я ссылку привел. (см. чуть ниже)
              Там разница с фаерфоксом в некоторых случаях на порядок. Про IE вообще молчу.
          0
          У вас ссылка почему то такая: http://xn--javasrit-cchh.ru/optimize/jav…
          Copy&paste this: javascript.ru/optimize/javascript-performance/
            –1
            Небось "JavaScript" режут.
            <a href="http://javascript.ru/optimize/javascript-performance" title="http://javascript.ru/optimize/javascript-performance">http://javascript.ru/optimize/javascript…</a>

            Так работает?
              0
              Когда уже здесь починят 4-х кратное повторение тегов?
              0
              javascript.ru/optimize/javascript-performance
              0
              Знаешь сколько я этих тестов повидал? И все дают разные результаты.
              +1
              Извините что придираюсь, но address по-русски адрес. А не аддресс.
              не уверен, что JS идеально подойдёт для языка сценариев OSX. А что с движком, открытый и доступный? или For Safari only?
                0
                Ууупс... Поправил :)

                Об открытости — насколько я знаю, WebKit можно из subversion репозтария дернуть без проблем.
                  0
                  А на счет справится или нет — они довольно много чего открыли JavaScript-у из внутренностей ОС, когда ввели dashboard widgets. Если каким-либо способом дать JS доступ к AS словарям приложений, то с объектной сутью Mac OS X JavaScript может оч. даже и рокатить...
                    0
                    ну, просто, скажем, Apple Script, он ткаой более user-friendly, как я понимаю :)
                      0
                      Ну, для англоговорящего, возможно:

                      tell application "Safari"
                          close current tab of (window index 1)
                      end tell

                      Но не все так уж просто... http://www.codinghorror.com/blog/archive…
                        0
                        Ну понятно, что для англоязычного пользователя. Но читается, кстати, отлично. прям как рассказ (если не считать енд телла)
                  0
                  да, JavaScript лучше справится чем PHP :))
                    +2
                    Фишка AppleScript в том что он читается даже не программистами. Т.к. его синтаксис больше напоминает просто разговорный английский, чем язык программирования. У JS несмотря на все его преимущества, этой фишки нет, поэтому он так же далек от пользователя насколько далек от него C++.
                      –2
                      Только вот зачем читать AppleScript не программистам aka домохозяйкам?!
                      Достоинство спорное
                        0
                        Считается, что скрипты на AS могут разрабатывать даже домохозяйки. =)
                          +1
                          А вы пробовали? Скажу так — только поначалу кажется, что "о, как просто!" А потом начинаешь волосы рвать...
                            0
                            Если честно, то нет.
                            А что сложного?
                              0
                              Ну, скажем что для начала он уж <б>очень подробный. Вот как тут:


                              tell application "Mori"
                              tell front document
                              set a to first item of selection
                              set b to second item of selection
                              set a's note to (a reference to a's) note & (a reference to b's note)
                              end tell
                              end tell


                              Потом есть особенности построения языка, унаследованные из старых версий Маковской ОСи, легаси, т.с... С Юникодом геморойно весьма... Почитайте тут: http://www.applescriptsourcebook.com/tip… или тут: http://applescript.ru/
                            0
                            Вы много видели домохозяек пишущих скрипты?
                              0
                              одну. Нет две!
                        0
                        А функциональность?.. Новый их движок будет поддерживать ECMAScript 4?
                          –2
                          а с новой оперой, как всегда, не сравнили :(
                            0
                            страшно
                              0
                              Давайте перечислим еще то с чем не сравнили? Опера почему-то не публикует отчетов о занятом положении в процентах пользователей по странам, а зря. Увидели бы что на аудиторию окружающую создателей вебкита опера не влияет никак.
                                0
                                ээ, вы не понимаете: с оперой 9.2 сравнили, а с 9.5 - нет. Почему? - Наверное потому что 9.5 быстрее или сравнима.
                                  0
                                  сравните сами. тесты доступны публично.
                                  скомпилить, запустить пару тестов на разных браузерах, и опубликовать можете сами, если Вы фанат Оперы.

                                  Это только в России (exUSSR, точнее) настольная Опера очень распространена (по статистике). А в дркгих странах у неё распространение меньше. Скорее всего, её просто не стали учитывать, как другие малораспространённые настольные браузеры.
                                    0
                                    увы, у меня нет времени сравнивать самому, это раз.
                                    А потом, вы просто невнимательно читаете мои посты - со "старой" медленной оперой сравнили, а с новой, значительно более быстрой - нет.
                                      0
                                      Вы правы, не заметил вашего замечания о том, что с 9.2 сравнивали.
                                  0
                                  Вообще-то на аудиторию, окружающую создателей вебкита и вебкит почти не влияет (если я правильно понял то, что вы хотели сказать хитрой фразой) И что?
                                +2
                                Рыбелка.
                                  +3
                                  Предлагаю название для еще одного JS-движка: МышьЯк.
                                    +2
                                    лучше КоньЯк
                                    +1
                                    он на 46% быстрее, чем SpiderMonkey, движок используемый Mozilla в текущих версиях FireFox, и на 52% быстрее Tamarin, который используется в Adobe Flash 9 и портируется для использования в FireFox.
                                    что-то странно. получается, что SpiderMonkey более производительный чем Tamarin?
                                      0
                                      сравнивают с тамарином, который вообще ещё не отрелизился.

                                      Ибо он появится только в FireFox 4. Фактически можно считать результаты теста в отношении Tamarin неликвидными (они касаются flash 9 actionscript скорее).
                                        0
                                        очень сомневаюсь, что javascript в ff работает быстрее, чем actionscript в f9.
                                      0
                                      Круто! Насколько я понял главным шагом в оптимизации был переход на байт-код. Причём на бйт-код, который вместо стека для передачи параметров использует регистры (как Parrot)
                                        0
                                        Тамарин тоже байт–кодовый, но медленее.
                                        0
                                        Ето все не единственное достоентство JS в продуктах Apple чего только стоит создание средствами JS на клиенте собственной БД и манипуляция с ней, кому интересно, либо кто не знает могу поделитса собственными разработками и иследованиями в етой области, жаль пока писать в блог ничего не могу.

                                        PS: ета возможность будет еще и у HTML5 надеюсь браузеры наконецто будут придерживатса рекомендаций от W3C
                                          0
                                          Вы имеете в виду то, что эта возможность есть в WebKit, так?
                                          0
                                          думаю, со временем придёт единое api на основе google gears.
                                          0
                                          Из словаря (Lingvo)
                                          squirrelfish
                                          рыба-белка (Holocentrus) ; рыбы-белки, рыбы-солдаты, голоцентровые (Holocentridae)
                                            0
                                            Эта?
                                              0
                                              Мне вариант от goopy нравится на много больше :)

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

                                          Самое читаемое