The OpenNET Project / Index page

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



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

Исходное сообщение
"Запуск WebAssembly runtime как модуля ядра Linux"
Отправлено Аноним, 27-Сен-18 21:37 
> Это oversimplification.

Дудки. Дополнительные проверки для безопасности или есть, и на это тратятся ресурсы, или нет, и тогда они не тратятся. Дядька Тюринг на самом фундаментальному уровне гарантировал нам что мы заранее поведение программы своей программой (как то компилером) целиком не просчитаем - значит оверхед в рантайме на фактические проверки в момент операции. А какие еще варианты? При том в тугом цикле это может угрохать скорость в разы. В кернеле все еще усугубляется тем что нельзя заранее верить компилятору и прочему внешнему миру. Это мигом приведет к взлому, поэтому надо параноидально чикерить все и вся. Без оверхеда куча проверок не бывает - если процессору приваливает работенки, то и времени на ее выполнение приваливает.

> часть он тратит на выполнение кода в ring3, часть он тратит
> на выполнение кода в ring0, часть на ожидание i/o, и часть
> на переключение контекстов из ring3 в ring0 и обратно.

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

> того, что nginx будет перенесён в ядро. А вот выполнение собственно
> nginx кода и переключение контекстов изменится.

Вот конкретно Linux сейчас довольно здорово оптимизнут на предмет сисколов, с использованием хреновой кучи не-классических техник, придуманых линуксоидами. Например, vDSO, группировка сисколов и 1 переключения контекста на целый батч и проч. Им видите ли оверхед тоже не нравится и они изобрели много нового для его уменьшения.

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

В общем случае так. Но сравнивая уровень технологий Linux и тем что вытворяют jit - я пожалуй поставлю на Linux. Эти парни умеют работать так, чтобы результат радовал глаз. А сказать то же самое про jit'ы я не могу.

> Мы это узнаем совершенно точно, когда они запустят nginx в ядре, и
> прогонят его через тесты.

Флаг им.

> Я не знаю, как там насчёт gcc, но rustc сегодня имеет встроенный target webassembly.

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

> Emscripten не нужен.

Да и rust куда-то туда же, как по мне.

> модулей ядра -- это другое и не твоё собачье дело решать
> за других, чем им заниматься в своё свободное время.

Несомненно. Но повертеть пальцем у виска, в том числе и публично. я все же могу и это вполне в пределах моего собачьего дела уже.

 

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



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

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