URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 95867
[ Назад ]

Исходное сообщение
"Для WebKit реализован JIT-компилятор на основе наработок LLVM"

Отправлено opennews , 15-Май-14 23:48 
Разработчики браузерного движка WebKit представили (https://www.webkit.org/blog/3362/introducing-the-webkit-ftl-jit/) FTL (Fourth Tier LLVM), новый режим работы JIT-компилятора, использующий оптимизатор LLVM для генерации эффективного машинного кода. FTL оценивается как стабильный и активирован по умолчанию компанией Apple для OS X и iOS.

Использование оптимизатора LLVM позволило применить для JavaScript методы изощрённой оптимизации, ранее доступные только для компилируемых языков, таких как C++ и Objective-C.  По сравнению с ранее доступным в WebKit JIT-компилятором DFG (Data Flow Graph), FTL в среднем обеспечивает прирос производительности на 35%.  Наибольшая эффективность FTL наблюдается для длительно выполняющихся web-приложений, а также кода, использующего расширение Asm.js.

<center><a href="http://www.webkit.org/blog-files/ftl-jit/four_tier_performan... src="https://www.opennet.ru/opennews/pics_base/0_1400181471.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
<center><a href="http://www.webkit.org/blog-files/ftl-jit/ftl_pipeline.png&qu... src="https://www.opennet.ru/opennews/pics_base/0_1400182491.png" style="border-style: solid; border-color: #606060; border-width: 1px;max-width:100%;" title="" border=0></a></center>

<center><a href="http://www.webkit.org/blog-files/ftl-jit/ftl_timeline.png&qu... src="https://www.opennet.ru/opennews/pics_base/0_1400182000.png" style="border-style: solid; border-color: #606060; border-width: 1px;max-width:100%;" title="" border=0></a></center>


URL: https://www.webkit.org/blog/3362/introducing-the-webkit-ftl-jit/
Новость: https://www.opennet.ru/opennews/art.shtml?num=39784


Содержание

Сообщения в этом обсуждении
"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Аноним , 15-Май-14 23:48 
После демарша гугла, эпл начинает потихоньку открывать разработки. Вообще, несмотря на более тормозной движок и отсутствие ряда фич, WebKit выглядит более привлекательно, ибо не является комбайном, которым рулит лишь узкая группа лиц из корпорации добра.

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Аноним , 16-Май-14 00:35 
Эй парень, они взяли другой проект с открытым исходным кодом, поэтому не имеют право закрывать его. А именно KHTML из Konqueror. В те годы всему миру было начихать на технические превосходства веб-движков, так как у 99% всё равно IE5/IE6. Поэтому интересную разработку никто не замечал. И тут пришла Apple и сделала на его основе Webkit. Именно поэтому Konqueror 4.3 KHTML заменили на Webkit. Это была эволюция, а не как с Opera 12.

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Константавр , 16-Май-14 11:51 
Блеен... Прям в сердце ёкнуло, вспомнился Konqueror, было же время... А не у него ли первого вкладки появились? Фича - которую никак было не втолковать пользователям IE

А теперь некому толкать паровоз, да и интернет уже не тот. Хочу машину времени.


"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено iZEN , 16-Май-14 12:09 
> А не у него ли первого вкладки появились?

Первые вкладки появились где-то в 1998-99гг в Mozilla Firebird v.0.97.


"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Andrey Mitrofanov , 16-Май-14 14:48 
> Первые вкладки появились где-то в 1998-99гг в Mozilla Firebird v.0.97.

iZEN даже при чтении википепии вслух врёт. Бе-е-едный!

Не первые, не в морзиле, не в 98-99.
""Mozilla 0.9.5 in October 2001, Phoenix 0.1 (now Mozilla Firefox) in October 2002
en.wikipedia.org/wiki/Tab_(GUI)


"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено iZEN , 16-Май-14 19:20 
>> Первые вкладки появились где-то в 1998-99гг в Mozilla Firebird v.0.97.
> iZEN даже при чтении википепии вслух врёт. Бе-е-едный!
> Не первые, не в морзиле, не в 98-99.
> ""Mozilla 0.9.5 in October 2001, Phoenix 0.1 (now Mozilla Firefox) in October
> 2002
> en.wikipedia.org/wiki/Tab_(GUI)

Видишь, как интересно. Я не нашёл фактоидов, а ты нашёл. ;)



"Для WebKit реализован JIT-компилятор на основе наработок..."
Отправлено arisu , 17-Май-14 15:25 
>> А не у него ли первого вкладки появились?
> Первые вкладки появились где-то в 1998-99гг в Mozilla Firebird v.0.97.

opera смотрит на тебя как на изю.


"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено rshadow , 16-Май-14 14:44 
Им не надо втолковывать. Идеалогия винды - многооконность на одном рабочем столе.

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено rob pike , 16-Май-14 16:54 
Какие новости.
Вообще-то у них изначально был http://en.wikipedia.org/wiki/Multiple_document_interface
от которого только совсем недавно (всего 15 лет назад) отказались по просьбам пользователей

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Аноним , 16-Май-14 06:52 
> комбайном, которым рулит лишь узкая группа лиц из корпорации добра.

А чем эппл принципиально от гугли отличается?


"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено 1 , 16-Май-14 10:45 
Одни причиняют добро, другие наносят пользу.

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Константавр , 16-Май-14 12:20 
Шуточки? Чойта я не слышал про Эппл Саммнр оф Коде. У Эппла только:
"Кто похвалит меня лучше все-е-ех,

   тот

     получит

        вкусную конфету!"


Блин, советские мультики добру учили.


"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Аноним , 16-Май-14 20:25 
Эппл как минимум активно контрибьютит в LLVM/Clang, Webkit и BSD libc и cups, не считая всякой мелочевки.

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Константавр , 17-Май-14 11:49 
В этих проектах Эппл заинтересован непосредственно. Тоже самое Андроид, Хромиуи и пр. для Гугла.

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Куяврег , 17-Май-14 13:12 
Как бы это и есть то самое "впрягли корпорастов. работают на себя - работают на всех".

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Константавр , 17-Май-14 15:16 
> Как бы это и есть то самое "впрягли корпорастов. работают на себя
> - работают на всех".

В том и отличие Google Summer Of Code, Гугл в данном случае является спонсором и меценатом не связанных с ним открытых проектов, в отличие от.


"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено rob pike , 18-Май-14 07:45 
Гугл, разумеется, не является в полном смысле меценатом - GSoC по сути это очень дешевый способ head hunting-а перспективной молодежи. То что при этом что-то делается для каких-то проектов - побочный эффект, не более.

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Куяврег , 17-Май-14 13:16 
> Чойта я не слышал про Эппл Саммнр оф Коде.

Так ещё и не вечер. Тут же вопрос стоит именно так: либо опенсорц даёт эффективные методы заработка, и тогда "все там будут", вопрос только кто раньше созреет. Либо есть "патологические враги опенсорц". Я думаю - первое. С одним "но". Сейчас уже видно, что революцию надо распространять на хардварь.


"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Константавр , 17-Май-14 14:50 
Вопрос стоял:

>А чем эппл принципиально от гугли отличается?

Так что отпрыгни.


"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Аноним , 15-Май-14 23:51 
время бурного роста абы как, прошло, наступило время оптимизации. во многих проектах заметно, что внедрение качественных универсальных инструментов дает очень быстрый и хороший результат.

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Аноним , 16-Май-14 00:28 
бгг, аббревиатура faster than light совершенно незаметна

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено yaleks , 16-Май-14 00:31 
Мир сходит с ума - сначала перегоняем в JS при помощи LLVM, а затем им же JS в машинный код.

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Аноним , 16-Май-14 06:41 
Блин, поздно. Qt уже на Blink же переходить стал и неизвестно сколько он оперативки после этого начнет жрать.
Мне Эппловский вебкит гораздо больше в этом плане нравится, начиная где-то с 10.8 он даже более-менее стабильно работать стал и без всякого 1 процесс на вкладку/плагин. Вот этот жор 2-3 гигов Private Memory в Blink/Webkit на 10-15 вкладках дико утомляет, Эппловский не уступает по скорости(но был их JS-engine был проприетарным блобом) и жрет в 2-3 раза меньше.

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Аноним , 16-Май-14 08:24 
Продолжай доделывать QtWebkit
У тебя еще есть время

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Аноним , 16-Май-14 18:03 
>Qt уже на Blink же переходить стал

Оно и к лучшему. Этот полупроприетарный LLVM в Qt нафиг не упёрся.


"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено iZEN , 16-Май-14 19:23 
>>Qt уже на Blink же переходить стал
> Оно и к лучшему. Этот полупроприетарный LLVM в Qt нафиг не упёрся.

Правильно! На С++ давно уже есть JIT — Sun HotSpot ( http://ru.wikipedia.org/wiki/HotSpot ). :))



"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено rob pike , 16-Май-14 21:12 
Ладно б ты еще про Zing упомянул, говоря про приличный JIT.
Который, кстати, на LLVM строят.

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Аноним , 16-Май-14 20:12 
А ничего, что у конкурента тож BSD licence? http://changelogs.ubuntu.com/changelogs/pool/universe/libv/l...

"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено Аноним , 17-Май-14 06:56 
LuaJIT уже рвёт? (без asm.js-мухлежа)

"Для WebKit реализован JIT-компилятор на основе наработок..."
Отправлено arisu , 17-Май-14 15:37 
> LuaJIT уже рвёт? (без asm.js-мухлежа)

да оно и с мухлежом не особо. а если сравнить размер кодовой базы… нет, лучше не надо.


"Для WebKit реализован JIT-компилятор на основе наработок LLV..."
Отправлено rob pike , 18-Май-14 07:37 
>"With proper design and engineering, there's no reason a JS JIT compiler couldn't compete with LuaJIT."
>--Mike Pall

"Для WebKit реализован JIT-компилятор на основе наработок..."
Отправлено arisu , 18-Май-14 15:23 
>>"With proper design and engineering, there's no reason a JS JIT compiler couldn't compete with LuaJIT."
>>--Mike Pall

осталось найти того, кто это сделает. СуперМайк не заинтересован.


"Для WebKit реализован JIT-компилятор на основе наработок..."
Отправлено rob pike , 18-Май-14 15:27 
Заинтересован, но его не зовут. Потому злорадствует.

>Umm, but LuaJIT does loop peeling and LICM. Or rather an equivalent that actually works for dynamic languages and provides both code hoisting and unswitching. It's 300 lines of code. Oh, and it performs selective unrolling, too.
>Sure, let's go down the list of advanced compiler optimizations! Muchnick to the rescue ... LuaJIT also does: constant folding, constant propagation, copy propagation, algebraic simplifications, reassociation, common-subexpression elimination, alias analysis, load-forwarding, store-forwarding, dead-store elimination, store sinking, scalar replacement of aggregates, scalar-evolution analysis, narrowing, specialization, loop inversion, dead-code elimination, reverse-linear-scan register allocation with a blended cost-model, register hinting, register renaming, memory operand fusion.
>Due to the nature of a trace compiler, it implicitly performs partial and interprocedural variants of all of them. And many traditional optimizations, like straightening or unreachable code elimination are unnecessary.
>All of that in 120KB for the VM and 80KB for the JIT compiler. And I didn't need 15 years and a billion dollar budget for that, either.
>I'm planning to add value-range propagation, array-bounds-check elimination, escape analysis, allocation sinking, if conversion, hyperblock scheduling and auto-vectorization. Anything I forgot? I'll see what I can do. :-)


"Для WebKit реализован JIT-компилятор на основе наработок..."
Отправлено arisu , 18-Май-14 15:32 
> Заинтересован, но его не зовут.

я имел в виду «не заинтересован делать это бесплатно». а денег на jsjit корпорасты ему не несут, предпочитая оные деньги весело просирать.

впрочем, я бы вообще все попытки сделать jit'ы для js уничтожал бы вместе с авторами.


"Для WebKit реализован JIT-компилятор на основе наработок..."
Отправлено rob pike , 19-Май-14 04:09 
>все попытки сделать jit'ы для js уничтожал бы вместе с авторами

Потому что технологии бывают вредные, полезные и антинародные, да?

> Кибернетика является, таким образом, реакционной механистической теорией, стремящейся отбросить современную научную мысль, основанную на материалистической диалектике, далеко вспять — к изжитой и опровергнутой более ста лет назад механистической философии.
> — «Наука современных рабовладельцев», «Наука и жизнь», июнь 1953, стр.42


"Для WebKit реализован JIT-компилятор на основе наработок..."
Отправлено arisu , 19-Май-14 09:07 
>>все попытки сделать jit'ы для js уничтожал бы вместе с авторами
> Потому что технологии бывают вредные, полезные и антинародные, да?

нет. потому что дебилы-хипстеры пытаются впихнуть невпихуемое.


"Для WebKit реализован JIT-компилятор на основе наработок..."
Отправлено rob pike , 19-Май-14 19:06 
Так ведь по просьбам трудящихся. Всё для рабочего человека.