OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 18:16

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 20 ] 
Автор Сообщение
СообщениеДобавлено: Вторник, 21 Май, 2019 18:40 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Интересная статья, о некоторых извращениях, которыми занимаются быстрые движки скриптовых языков, в случае с V8 для JavaScript, чтобы добиться хорошей производительности.

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 21 Май, 2019 20:08 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
Ох, там по ссылке ещё дичь ужасная... Оказывается, если после 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 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
Я уже молчу, что страшно подумать, что делает какой-то фейковый конструктор в этом коде 8 раз :?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 21 Май, 2019 22:37 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Победа или смерть, девиз капиталистического рантайма.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 22 Май, 2019 01:32 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 597
Дождёмся ли, что подвезут "некапиталистический" runtime? ;-) Каков-то девиз у него? ;-))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 22 Май, 2019 07:03 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
Artyemov писал(а):
Дождёмся ли, что подвезут "некапиталистический" runtime? ;-) Каков-то девиз у него? ;-))
As simple as possible but not simpler :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 22 Май, 2019 07:55 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Artyemov писал(а):
Дождёмся ли, что подвезут "некапиталистический" runtime? ;-) Каков-то девиз у него? ;-))

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 22 Май, 2019 10:41 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Пётр Кушнир писал(а):
Победа или смерть, девиз капиталистического рантайма.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 22 Май, 2019 23:56 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 597
Скааааазочники... особенно про "...своею собственной рукой..." в хорошем смысле, не побоюсь, этого слова ;-)
"Последний и решительный..." какой уже по счёту?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 23 Май, 2019 00:52 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
Илья Ермаков писал(а):
о некоторых извращениях, которыми занимаются быстрые движки скриптовых языков

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 23 Май, 2019 07:50 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
Нужно Оберону ломануться в нишу WebAssembly! Кто-то слышал о создании подобного компилятора Оберона?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 23 Май, 2019 09:36 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Я начинал делать, но решл, что пока смысла нет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 23 Май, 2019 10:30 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
Trurl писал(а):
Я начинал делать, но решл, что пока смысла нет.
Код на Обероне в S-выражение?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 23 Май, 2019 12:19 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Trurl писал(а):
Я начинал делать, но решл, что пока смысла нет.

Но почему?

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 24 Май, 2019 08:15 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Пётр Кушнир писал(а):
Но почему?

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 24 Май, 2019 08:18 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Ярослав Романченко писал(а):
Код на Обероне в S-выражение?

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 25 Май, 2019 10:02 

Зарегистрирован: Среда, 31 Январь, 2018 19:54
Сообщения: 244
Trurl писал(а):
Ярослав Романченко писал(а):
Код на Обероне в S-выражение?

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 25 Май, 2019 11:41 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
Зачем сразу бинарный формат? Не проще-ли разобраться в текстовом, а бинарный просто из него получается нехитрым преобразованием https://developer.mozilla.org/ru/docs/W ... ext_format


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 25 Май, 2019 19:41 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Кажется, не проще. К тому же s-выражения уже устарели. Текущий текстовый формат больше похож на традиционный ассемблер.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 25 Май, 2019 19:43 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
arlean1 писал(а):
А ещё какие-то ссылки есть?

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB