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

Исходное сообщение
"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."

Отправлено opennews , 05-Май-11 12:40 
Разработчики проекта Mozilla приступили (http://www.infoq.com/news/2011/05/ionmonkey) к созданию нового JIT-компилятора для увеличения скорости выполнения JavaScript в движке SpiderMonkey. Новый JIT-копилятор получил название IonMonkey (https://wiki.mozilla.org/Platform/Features/IonMonkey) и пока находится на стадии проектирования (https://bugzilla.mozilla.org/show_bug.cgi?id=646923) архитектуры и формирования (https://bugzilla.mozilla.org/show_bug.cgi?id=650181) начального прототипа.  IonMonkey является третьим JIT-компилятором, создаваемым в рамках проекта Mozilla, прошлые варианты были выпущены в 2010 (http://www.opennet.me/opennews/art.shtml?num=25608) и 2008 (http://www.opennet.me/opennews/art.shtml?num=17521) годах, каждый раз значительно поднимая производительность Firefox.


Новый JIT-компилятор не станет исключением, в нем ожидается реализация передовых техник оптимизиации JavaScript, некоторые из которых уже представлены (http://www.opennet.me/opennews/art.shtml?num=28947) ...

URL: http://www.infoq.com/news/2011/05/ionmonkey
Новость: http://www.opennet.me/opennews/art.shtml?num=30442


Содержание

Сообщения в этом обсуждении
"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено me , 05-Май-11 12:46 
Хорошее начинание. Посмотрим во что выльется

"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Аноним , 05-Май-11 13:12 
надеюсь когда-нибуть компиляторы javascript станут настолько продвинутыми, что по скорости работы код на javascript не будет уступать коду на С...

"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Аноним , 05-Май-11 13:19 
_Никогда_ такого не будет с динамическим языком.

"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено letsmac , 05-Май-11 20:18 
Существуют сотни случаев когда динамика в среднем случае на равне или даже быстрее С. Например в случае распределенных приложений - там затыки в других местах, а разработка и багоотлов в десятки раз дешевле С. С быстр в случае только очень небольших или специализированных проектов.

"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Аноним , 05-Май-11 13:20 
А говорят что фантазеры все перевелись))

"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Marbleless , 05-Май-11 14:51 
Надеюсь, что когда-нибудь Javascript из веба выкинут и заменят на какой-нибудь другой, нормальный язык. Lua, например.

"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено bav , 05-Май-11 16:13 
> нормальный язык. Lua, например.

Что в lua есть такого, чего нет в js? А если вспомнить про убогую стандартную библиотеку lua, то вообще смешно становится.

Хотя слабая типизация в js раздражает, это да.


"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Marbleless , 05-Май-11 17:06 
>Что в lua есть такого, чего нет в js?

1.Абсолютно логичный и красивый синтаксис.
2.Если представить себе Lua как поле, где можно идти в любую сторону, куда хочешь, то JS - это лес с потайными тропами, хитро замаскированными граблями, а иногда еще из кустов совершенно неожиданно выходят волки.

>А если вспомнить про убогую стандартную библиотеку lua, то вообще смешно становится.

Это же встраиваемый язык, как, собственно, и Javascript. Если бы были стандартизированные расширения для браузеров, это было бы не важно.

Потом, если взять только то, что входит в стандарт ECMAScript, разве будет намного больше функций, чем в Lua?


"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Crazy Alex , 05-Май-11 17:19 
Добавьте еще, что у Lua есть готовый рантайм с очень эффективным JIT-компилятором (на average code оно от плюсов почти не отстаёт, если мне память не изменяет).

"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено bav , 06-Май-11 02:14 
А скажите мне как так получилось, что в языке, который полностью построен вокруг таблиц, так хреново с ними работать?

1) Нельзя сравнить
2) Нельзя скопировать
3) Нельзя привести к строке

Элементарные, базовые операции и нельзя сделать. Приходиться городить свои велосипеды.

P.S. Если что, я пользователь awesome и luakit с *очень* кастомизированными конфигами, поэтому об деревянность луа шишек понабивал.

P.P.S. Кстати у схемы синтаксис еще логичнее и красивее, почему js не заменить на неё?


"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Crazy Alex , 05-Май-11 17:10 
Ну, стандартная библиотека - дело решаемое, но в JS и правда много стоило бы поправить - благо косяки уже, считай, все найдены и что и как надо менять, в общем, понятно. Впрочем, писать на ActionScript 3(который, если кто не знает - реализация ECMAScript 4, со строгой типизацией и с "классической" объектной моделью) приятнее гораздо - масса ошибок ловится компилятором. Плюшки классического JS, кстати, там тоже никуда не делись - но как-то не используются особо за ненадобностью.

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

А вообще говоря - NaCL был бы много более перспективен.


"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено JIghtuse , 05-Май-11 16:55 
JS — отличный язык.

"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Crazy Alex , 05-Май-11 17:12 
> JS — отличный язык.

"От других".

Не спорю, он неплох - но:
1) он динамический
2) он страдает от тянущихся ошибок дизайна ("+" и точки с запятой - самые известные).

Как результат - проблемы с отладкой.


"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Anon2048 , 05-Май-11 17:21 
http://julien.danjou.info/blog/index.html#Why_not_Lua

"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Marbleless , 05-Май-11 17:37 
>http://julien.danjou.info/blog/index.html#Why_not_Lua

Здесь вообще все проблемы связаны с интеграцией существующей библиотеки Lua в свое приложение. И все они решаемы, все они намного более простые, чем другие проблемы, с которыми сталкиваются разработчики современных браузеров. Тем более, что если бы Lua встраивали в браузеры, наверняка появились бы отдельные реализации, специально для этого заточенные.

Единственная проблема, касающаяся, собственно, синтаксиса Lua - "No paradigm makes you lose time". Вот только в этом аспекте Javascript вообще ничем не отличается.

На самом деле мой первый пост приводил Lua исключительно как пример. Я просто хотел сказать, что Javascript на сегодняшний день слишком запутан, чтобы быть "языком всея сети".


"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Crazy Alex , 05-Май-11 17:52 
На самом деле отсутсвие парадагмы (если только язык позволяет её реализовать без помощи компиялтора) - это очень круто. Можноиспользовать то, что подходит лично вам. И никто не требует,чтобы поддержку ООП и пользовательский код писали одни и те же люди - это могут быть независимые проекты, при этом возможность выбрать подходящий вариант остаётся.

Но, кстати, других кандидатов особо и не видно. Разные питоны как "язык всея сети" не лучше JS - не менее запутанны и существенно более ограниченны в плане возможностей программиста.

Я бы, правда, смотрел в сторону другого выхода - выдать доступ к DOM плагинам и реализовывать рантаймов языка в их рамках, чтобы вообще не навязывать "язык всея веба". Но там на тему эффективного протокола взаимоедйствия браузера и плагина думать и думать. А интересно было бы - вплотьдо нескольких различных JS-движков на разные случаи жизни :-)


"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Marbleless , 05-Май-11 17:55 
>выдать доступ к DOM плагинам и реализовывать рантаймов языка в их рамках, чтобы вообще не навязывать "язык всея веба"

Тут только одна проблема: мы получим в результате второй Adobe Flash.


"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Crazy Alex , 05-Май-11 18:02 
И что?
Проблема Adobe Flash исключительно в криворукости и неповоротливости адоба и при этом проприетарности плагина.
При этом В нём масса хороших идей, до которых в HTML5 кое-как сейчас доползают - и отнюдь не до всех. ECMAScript 4, P2P, LocalConnection - то, чего в вебе без флеша нет и, похоже, не будет ещё долго. Сокеты - ну... websockets как-то развиваются, хотя не особо и быстро. Поддержка камеры/микрофона - вроде что-то планируется. Подписанные стандартные библиотеки, общие для всех сайтов - тут сам адоб не доделал, но в обычном вебе и такого нет, каждый сайт всё заново таскает...

"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено anonymous , 05-Май-11 13:50 
Что-то их лихорадит. Если за три года они уже третий раз собираются переписывать такую важную часть системы, значит что-то в Датском королевстве явно не так.

И кто-нибудь знает, что у них за маньячество по поводу обезьян? :)


"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено koblin , 05-Май-11 13:55 
http://en.wikipedia.org/wiki/Code_monkey ?!

"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено szh , 05-Май-11 14:29 
скорости много не бывает.

> что-то в Датском королевстве явно не так.

конкуренция не дает расслабится


"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено bav , 05-Май-11 16:18 
> значит что-то в Датском королевстве явно не так.

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


"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено anonymous , 05-Май-11 17:14 
Хвастаться надо не тем, что мы раз в год осознаем, что шли в неверном направлении :)

"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено szh , 05-Май-11 18:37 
шли в верном направлении, а сейчас можем зайти еще дальше по соседней тропинке

"Началась работа над IonMonkey, новым JIT-компилятор..."
Отправлено anonymous , 08-Май-11 06:18 
> Хвастаться надо не тем, что мы раз в год осознаем, что шли
> в неверном направлении :)

а, видимо, тем, что раз выбрали — и идём. а верное оно, неверное — who cares?


"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Crazy Alex , 05-Май-11 17:16 
> Что-то их лихорадит. Если за три года они уже третий раз собираются
> переписывать такую важную часть системы, значит что-то в Датском королевстве явно
> не так.
> И кто-нибудь знает, что у них за маньячество по поводу обезьян? :)

Это не их лихорадит, это скорость развития такая. Появилось много новых идей у них и у конкурентов - надо сделать систему, в которой эти идеи можно реализовать. В общем, рефакторинг как рефакторинг - ставили бы версии вместо новых названий - никто бы и не дёрнулся.

А насчёт обезьян - да, интересно. Возможно, это намёк на JS-кодеров ;-)

(кто не понял - это ШУТКА).


"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Аноним123321 , 05-Май-11 18:11 
> (кто не понял - это ШУТКА).

а иногда нажмёшь {CTRL}+{U} .. и понимаешь .. что как раз не шутка :-)


"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено Crazy Alex , 05-Май-11 18:13 
Да вот бывает... Часто и жать ничего не надо - глянешь на скорость  работы и корректность реакции, скажем, на отпавшую сеть - и грустно как-то становится.

"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено фыв , 05-Май-11 19:21 
Они её не переписывают, а дополняют. Вы бы для начала почитали про tracemonkey и jagermonkey и чем они отличаются.

"Началась работа над IonMonkey, новым JIT-компилятор JavaScri..."
Отправлено rshadow , 06-Май-11 12:11 
Уже 3D игры делают в браузере ... пока очередной Crysis в фоксе не будет выдавать хотя бы 40 FPS не успокоятся.