ermouth: (Default)
[personal profile] ermouth

Ой-вэй, не прошло и месяца, как обновление Javascript-компилятора выкатил webkit.org. То-есть там круто, ребята заменяют LLVM на что-то более узкоспециализированное.

https://webkit.org/blog/5852/introducing-the-b3-jit-compiler/

LLVM в вебкитовском Джаваскрипте используется(вался?) для оптимизации критических фрагментов кода. То-есть, упрощённо, сначала JS компилится совсем быстрым компилятором, а потом те фрагменты, которые активно используются во время рантайма, компилятся ещё раз с оптимизациями.

Вообще, LLVM очень крут, это звездная академическая разработка, очень тщательно вылизанная. Чем LLVM круче компиляторов, условно, предыдущего поколения можно в презентации вот посмотреть.

Тем не менее, вебкит решил, что можно сделать ещё круче, в одно базовое соображение: IR (intermediate representation, промежуточное представление) между двумя специализированными компиляторами может быть компактнее и проще полного IR LLVM.

Это похоже на историю с Флипбордом, который придумал собственный упрощённый DOM с рендером прямо в битмап на клиенте.

Новый IR называется B3 IR, в статье есть его описание и масса любопытных идей и наблюдений, из которых он родился. Вообще, оптимизации там такие… уж очень специфические. Если сравнивать с авиацией, это примерно как “мы сделали новые законцовки крыльев и экономим 1% топлива”. Но их там много и сразу.

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

Думаю, в 2017 javascript overall превзойдёт Java по скорости.

И ещё один прогноз, уже совсем волюнтаристский. Думаю, к ~2020 мы увидим ОС, предположительно для IoT, в которой JS-engine будет на той же роли, на которой сейчас в Андроиде Dalvik.

Date: 2016-02-16 07:26 am (UTC)
From: [identity profile] archaicos.livejournal.com
Прогресс забавен, да.

Date: 2016-02-16 11:47 pm (UTC)
From: [identity profile] morfizm.livejournal.com
По-моему, тут очень крепко замешана политика. JS - открытый стандарт, со всеми вытекающими свободами и радостями. Java это (как ни безумно звучит) - proprietary технология. Никто не хочет судиться с Oracle, сделав очередную имплементацию виртуальной машины.

Так что я присоединяюсь к твоему прогнозу, правда, я бы сказал "eventually" вместо жёсткого "2017".

Profile

ermouth: (Default)
ermouth

November 2021

S M T W T F S
 123456
78910111213
14151617181920
21 222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 28th, 2025 09:34 am
Powered by Dreamwidth Studios