The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Для Firefox представлен API для задействования в web-приложе..."
Отправлено Аноним, 11-Сен-14 05:47 
> Не совсем понимаю в чём? В компиляции через Emscripten? Она 1 раз настраивается.

Это даже не компиляция а просто дурная трансляция более-менее нормального IR от LLVM в гoрбaтый и кривой IR в виде JS. Просто лишнее действие из-за кpeтинизма мозильщиков.

> В отладке? Тут пока да, но это решаемая проблема и ещё решают.

Лучше бы они мoгилy себе кoпaли с такой ж@пopyкостью. Впрочем, они неплохо с этим справляются, делая из лисы жaлкий ripoff хрома по виду и фичам (но как видим даже тут лажа выходит - некоторые фичи содpать не могут и городят такой вот у...щный эpзaц).

> Я практически это и сказал выше. Это реальный минус, хоть и не
> сильно существенный, как мне кажется.

Вообще-то существенный, ибо SIMD и прочее - это когда по ресурсам уже прижало настолько что оптимизацией пришлось заморочиться, настолько что некто готов освоить весьма специфичное программирование, которое довольно существенно отличается от обычных подходов. А тут сразу на старте нагaдили везде где могли, ибо JS. Зачем???

> Тем более, что жpёт только память, да и то в основном за счёт размера кода.

Жрeтся, извините,
1) Бандвиз. Пухлое представление дольше качать при прочих равных. Когда вес меряется в мегабайтах - не больно кайфово качать в 4 раза больше.
2) Память - не "только" ибо JS ее жpет крупнооптово и счет запросто идет не то что на сотни мегов, а на гигабайты, так что какая-нибудь простенькая игрушка запросто взлетит в системных требованиях до новья AAA, если не больше.
3) Время на парсинг дyрного IR тоже никуда не денется. Проц не знает что такое "a129=453". Он может какое-нибудь "mov r3, #453", которое в бинарном виде занимает ну может 2 байта. Ну может 4. Но врядли больше. А тут - восемь. И эти восем еще надо сперва распарсить и ... перегнать в те пару байтов. Не больно оптимально, а?

> asm.js код ведь сразу скармливается AOT-компилятору пропуская стадию интерпретации.

Вот только сам JS как IR - шит, и это не лечится иначе чем заменой IRа на что-то более вменяемое. Как шит скармливается - малосущественно. Фэйл сразу на старте, при выборе IR.

> вопрос хранения уже собранного бинарного кода локально и подгрузки его из
> локального хранилища, но не знаю было ли это реализовано.

Кэширование компиленого кода - второй вопрос. А первый - горбатое IR. Гугл предпочел не выеживаться и взять для IR то что задумано быть IR. А мозильщики занялись доработкой микроскопа до состояния когда он кой-как может забить не очень большой гвоздь, если поднакачаться.

> А тягать с собой ещё один компилятор, который больше нигде нaфиг не
> нужен, это не костыль?

Не больший костыль чем JIT в браузере. Этот JIT тоже нигде кроме браузера не требуется.

> А работать с тем, что в браузере есть напрямую через API для плагинов
> это не костыль? Фига ж себе!

Зато оно в результате работает со скоростью нативного кода и, @#$, не ограничено дeбильным HTML. Права там местами порезано, но в остальном это вполне себе такой запуск программы со свойствами близкими к запуску нативной программы. Только от платформы не зависит и не заставляет програмеров изгибаться буквой зю по части оптимизации. Т.к. работает более-менее со скоростью обычной компилированной программы, плюс-минус лапоть.

> При том, что в asm-js из костылей пожалуй только управляющие комментарии с
> подсказками для компилятора.

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

> Тем более, что они фактически сделали возможной низкоуровневую
> оптимизацию и AOT компиляцию в обычных веб-проектах и сохранили полную обратную
> совместимость с обычным JS.

Только толку с этой обратной совместимости - буй. То что нуждается в этих трюках - в fallback режиме ... не, ну, конечно, можно чисто для галочки запустить юзеру гамезу, показывая целые 0.5 FPS. Но какую ценность этот кластерфак представляет? Никто не будет полчаса ждать обсчета, смотреть на полтора FPS и прочее. Так что оно есть чисто для галочки.

> Или тебя не устраивает, что они в качестве памяти используют TypedArray?

Меня не устраивает миндфак с использованием JS как IR. Если нужен IR - возьмите уж нормальные средства. Зачем из микроскопа кувалду то делать? Хреновая кувалда получается!

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру