Country not specified
Unknown website Share

Apps4all

Страна: -
Город: -
Был онлайн: -
О себе:
 
08-07-2016, 11:48
Apps4all

Новый интерпретатор повысит производительность WebKit на 200%

Недавние изменения в открытом проекте Apple WebKit (который используется в Safari на OS X и iOS, а также в некоторых других браузерах) включают поддержку нового эффективного LLInt (Low Level Interpreter), который теперь используется в JavaScriptCore (JSC) для выполнения кода до его передачи стандартным интерпретаторам - либо байтокодовой виртуальной машине, либо JIT-компилятору, который создает родной машинный код на ходу.

Новый интерпретатор "в 2-2.5 раза быстрее, чем наш старый интерпретатор на SunSpider, V8, Kraken", говорится в отчете. "На реальных сайтах наблюдается значительное ускорение, которое достигнуто в основном благодаря огромному сокращению количества JIT компиляций".

Производительность JavaScript в браузерах – основная цель оптимизации, так как от того насколько быстро и эффективно выполняется код, зависит скорость анимации, а также качество и отклик кроссплатформенных веб-приложений.

Улучшения LLInt в JavaScriptCore были достигнуты Филипом Пизло, который присоединился к WebKit в декабре, до этого уже успев приложить руку к JavaScriptCore JIT и Garbage Collector.

До того, как изменения JavaScriptCore коснуться коммерческой версии Safari, пройдет какое-то время. В отчетах говорится, что версия 5.2 браузера от Apple будет включать в себя новый пользовательский интерфейс, улучшенный социальный обмен, новые настройки приватности и функции предупреждения об опасности.

Улучшения Nitro в JavaScriptCore

В 2008 было объявлено, что JavaScriptCore будет переписан как высокоуровневая байт-кодовая виртуальная машина под названием SquirrelFish. Позже проект получил кодовое имя SquirrelFish Extreme. В 2009 Apple применила улучшения к Safari 4 под маркой "Nitro". Как сообщалось, эти улучшение смогли заставить JavaScript работать в 4.5 раза быстрее.

Через год были выпущены новые улучшения SquirrelFish Extreme для Safari 5, которые ускорили производительность JavaScript на Mac еще на 30%.

В прошлом году компания добавила Nitro в мобильную версию Safari на iOS 4.3, что ускорило производительность JavaScript на 200% на мобильных устройствах Apple. После этого, однако, возникли некоторые противоречия, когда обнаружилось, что iOS использует Nitro лишь для ускорения приложений, запущенных в Safari. В результате при сохранении полноэкранных приложений на рабочем столе скорость серьезно снижалась.

В iOS 5 Apple решила проблемы безопасности, которые не позволяли более ранним версиям запускать полноэкранные веб-приложения, используя Nitro.

Конкуренты

Другие браузеры с поддержкой WebKit не обязательно используют JavaScript Core. Google Chrome использует собственный движок V8 JavaScript, к примеру. Движок V8 был разработан командой под руководством Ларса Бака, программиста, который разработал виртуальную машину Java ME для Sun. После того, как компания Oracle приобрела Sun, она подала иск против Google за нарушение патентов, связанных с виртуальными машинами, включая патент, зарегистрированный Баком во время работы в Sun.

JavaScript, который связан с Java лишь именем, изначально разрабатывался в компании Netscape как способ добавить программную интерактивность в веб-страницы (изначально он назывался LiveScript). JavaScript с тех пор стал общепризнанным стандартом. Microsoft ранее поддерживала свой собственный vbscript, но позже перешла на более распространенный JavaScript.

Google недавно пытался заменить JavaScript своим собственным языком программирования под названием Dart, который разрабатывался в том числе и Баком. Apple, Mozilla и Microsoft не пошли по пути Google, решив сосредоточить свои усилия на дальнейшем улучшении JavaScript.

Брендан Эйк из Mozilla, который разрабатывал первоначальный вариант JavaScript в Netscape, недавно написал: "Я гарантирую, что Apple и Microsoft (также как Opera и Mozilla, хотя достаточно и первых двух) никогда не будут использовать Dart".

"Подход Google в результате выльется в обреченный продукт, который, несмотря на все свои достоинства, будет нестандартным и несовместимым", - добавил он. "Может ли Google полностью доминировать на рынке? Может, но для этого ему придется монополизировать интернет. Мы знаем, чем заканчиваются такие истории".

Обсуждая Dart в прошлом декабре Оливер Хант из Apple написал: "Добавление прямой и открытой поддержки нестандартного языка враждебно открытому интернету, так как при таком подходе будет пропущена стадия разработки согласованного языка, и все будут использовать такой язык, какой им захочется. Это поставит любой браузер, который использует любые дополнительные собственные расширения в туже ситуацию, что и браузер с поддержкой чего-нибудь вроде vbscript. Это будет препятствовать открытости интернета, так как создаваемый контент будет эффективно работать лишь на одном конкретном продукте".

Попытки Google уйти от стандартов также вылились в создание собственного видео кодека WebM и отказ от HTML5 в пользу Adobe Flash для реализации видео и интерактивности.

 
Apple
Google
WebKit
0 0 0

Чтобы оставлять комментарии вам необходимо зарегистрироваться