> А вот тут или-или. Вы или таки имеете накладные расходы на песочницу
> и оверхед на хренову кучу проверок того что то что оно
> делает здесь и сейчас - типа безопасно, или таки на это
> забивается, и вот тогда - быстро :).Это oversimplification. Переупрощение, наверное, если переводить на русский. Всё сложнее. Если мы посмотрим на то, как nginx тратит процессорные такты, то часть он тратит на выполнение кода в ring3, часть он тратит на выполнение кода в ring0, часть на ожидание i/o, и часть на переключение контекстов из ring3 в ring0 и обратно. Ожидание i/o, так же как и выполнение ring0 кода никак не изменится от того, что nginx будет перенесён в ядро. А вот выполнение собственно nginx кода и переключение контекстов изменится. Код nginx, надо полагать, будет выполняться медленнее, а переключение контекстов быстрее, потому что для выхода из jit понадобятся не тысячи тактов процессора, а десятки. Что-то станет медленнее, что-то быстрее, каким же будет суммарное изменение времени выполнения -- я могу лишь гадать.
> В общем не с того конца они яйца чистить начали.
Мы это узнаем совершенно точно, когда они запустят nginx в ядре, и прогонят его через тесты.
> сделали бы нормальную сборку gcc'ом для начала
Я не знаю, как там насчёт gcc, но rustc сегодня имеет встроенный target webassembly. Emscripten не нужен. И вообще, кто ты такой, чтобы указывать им чем им заниматься? Разработка компиляторов -- это одно, разработка модулей ядра -- это другое и не твоё собачье дело решать за других, чем им заниматься в своё свободное время.