OberonCore
https://forum.oberoncore.ru/

Скрытые классы для быстрого исполнения JavaScript
https://forum.oberoncore.ru/viewtopic.php?f=26&t=6399
Страница 1 из 1

Автор:  Илья Ермаков [ Вторник, 21 Май, 2019 18:40 ]
Заголовок сообщения:  Скрытые классы для быстрого исполнения JavaScript

Интересная статья, о некоторых извращениях, которыми занимаются быстрые движки скриптовых языков, в случае с V8 для JavaScript, чтобы добиться хорошей производительности.

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

https://habr.com/ru/post/283090/

Автор:  Ярослав Романченко [ Вторник, 21 Май, 2019 20:08 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Ох, там по ссылке ещё дичь ужасная... Оказывается, если после return всунуть eval, оптимизатор V8 не будет оптимизировать код функции
И эти люди запрещают нам ковыряться в носу, нет слов... :?
Цитата:
function toFastProperties(obj) {
/*jshint -W027,-W055,-W031*/
function FakeConstructor() {}
FakeConstructor.prototype = obj;
var l = 8;
while (l--) new FakeConstructor();
ASSERT("%HasFastProperties", true, obj);
return obj;
// Prevent the function from being optimized through dead code elimination
// or further optimizations. This code is never reached but even using eval
// in unreachable code causes v8 to not optimize functions.
eval(obj);

}

Автор:  Ярослав Романченко [ Вторник, 21 Май, 2019 20:20 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Я уже молчу, что страшно подумать, что делает какой-то фейковый конструктор в этом коде 8 раз :?

Автор:  Пётр Кушнир [ Вторник, 21 Май, 2019 22:37 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Победа или смерть, девиз капиталистического рантайма.

Автор:  Artyemov [ Среда, 22 Май, 2019 01:32 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Дождёмся ли, что подвезут "некапиталистический" runtime? ;-) Каков-то девиз у него? ;-))

Автор:  Ярослав Романченко [ Среда, 22 Май, 2019 07:03 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Artyemov писал(а):
Дождёмся ли, что подвезут "некапиталистический" runtime? ;-) Каков-то девиз у него? ;-))
As simple as possible but not simpler :)

Автор:  Пётр Кушнир [ Среда, 22 Май, 2019 07:55 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Artyemov писал(а):
Дождёмся ли, что подвезут "некапиталистический" runtime? ;-) Каков-то девиз у него? ;-))

Ни бог, ни царь и не герой, так-то.

Автор:  Валерий Лаптев [ Среда, 22 Май, 2019 10:41 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Пётр Кушнир писал(а):
Победа или смерть, девиз капиталистического рантайма.

Не...
Бабки - любой ценой.
ИМХО, так правильнее будет.

Автор:  Artyemov [ Среда, 22 Май, 2019 23:56 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

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

Автор:  Wlad [ Четверг, 23 Май, 2019 00:52 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Илья Ермаков писал(а):
о некоторых извращениях, которыми занимаются быстрые движки скриптовых языков

Я, даже из чисто академического интересу, не хочу это читать.
Люди имеют системную, от рождения, фичу, присущую целому типу языков, которую НИКАК нельзя преодолеть, но - кипят, побулькивают мозгом и пишут статьи.
Сам подход "скриптования" подразумевал динамическое создание, из фиксированного набора "публикуемых" свойств неких элементов/библиотек, возможности управления этим фиксированным набором. Это позволяло гибко и с малыми затратами начинать использовать библиотеку (систему) некими, "заранее не предусмотренными", способами.
Полноправными "языками программирования" стать ЭТО не планировалось.
Но, нужно было только время, что бы нашлись некие гении, которые возомнили, что элементы формальной системы, с динамически определяемыми, во время работы программы, координаторами-идентификаторами ресурсов, можно попытаться приблизить к языкам, где такие координаторы ресурсов вычисляются во время компиляции. (Реализации поддержки виртуальных методов - из той же оперы (фиксированы адреса методов и места расположения "переадресации" к этим методам), хотя это и называют "динамическим связыванием").

То есть, опять, вместо того, что бы учить людей ПРАВИЛЬНО проектировать, начали учить извращениям и скверне, соблазняя "непереносимой лёгкостию бытия" (чаще всего - веб-) программирования...

Да - горят они огнём. Они - Сатане отдались! :)

Автор:  Ярослав Романченко [ Четверг, 23 Май, 2019 07:50 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Нужно Оберону ломануться в нишу WebAssembly! Кто-то слышал о создании подобного компилятора Оберона?

Автор:  Trurl [ Четверг, 23 Май, 2019 09:36 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Я начинал делать, но решл, что пока смысла нет.

Автор:  Ярослав Романченко [ Четверг, 23 Май, 2019 10:30 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Trurl писал(а):
Я начинал делать, но решл, что пока смысла нет.
Код на Обероне в S-выражение?

Автор:  Пётр Кушнир [ Четверг, 23 Май, 2019 12:19 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Trurl писал(а):
Я начинал делать, но решл, что пока смысла нет.

Но почему?

Artyemov писал(а):
Скааааазочники... особенно про "...своею собственной рукой..." в хорошем смысле, не побоюсь, этого слова ;-)
"Последний и решительный..." какой уже по счёту?
Адам Смит творил живя в королевстве (!) через 200 лет после революции в Голландии, ещё кто тут сказочник... Хотя зачем вам это объяснять, всё равно вы не поймёте, даже приблизительно.

Автор:  Trurl [ Пятница, 24 Май, 2019 08:15 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Пётр Кушнир писал(а):
Но почему?

Нужно придумывать механизмы управления памятью, передачи непримитивных параметров и т.д. А они сейчас как раз над этим работают. Пока я сделаю, появится новый стандарт.

Автор:  Trurl [ Пятница, 24 Май, 2019 08:18 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Ярослав Романченко писал(а):
Код на Обероне в S-выражение?

Я использовал binaryen, она бинарный wasm генерит.

Автор:  arlean1 [ Суббота, 25 Май, 2019 10:02 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Trurl писал(а):
Ярослав Романченко писал(а):
Код на Обероне в S-выражение?

Я использовал binaryen, она бинарный wasm генерит.

что-то пока вот это нашёл https://kripken.github.io/talks/binaryen.html#/
А ещё какие-то ссылки есть?

Автор:  Ярослав Романченко [ Суббота, 25 Май, 2019 11:41 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Зачем сразу бинарный формат? Не проще-ли разобраться в текстовом, а бинарный просто из него получается нехитрым преобразованием https://developer.mozilla.org/ru/docs/W ... ext_format

Автор:  Trurl [ Суббота, 25 Май, 2019 19:41 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

Кажется, не проще. К тому же s-выражения уже устарели. Текущий текстовый формат больше похож на традиционный ассемблер.

Автор:  Trurl [ Суббота, 25 Май, 2019 19:43 ]
Заголовок сообщения:  Re: Скрытые классы для быстрого исполнения JavaScript

arlean1 писал(а):
А ещё какие-то ссылки есть?

https://github.com/WebAssembly/binaryen
Только это

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/