Re[41]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vdimas Россия  
Дата: 30.08.21 16:15
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Потому дотнету навроде как не надо делать сто вызовов мелких функций из ВинАпи, а вместо этого сделать один вызов этой унифицированой платформы.


Теоретически согласен, а по-факту конкретно для IO это не так.
Унутре, например, для асинхронного чтения сокета (даже в самой последней реализации, заточенной под ValueTask-методы) из дотнета унутре вызывается регистрация хенлдера для наследника SocketAsyncEventArgs, затем запуск асинхронной операции.

Т.е., в дотнетную часть вынесено слишком много.
Более того, ручное использование угрёбищного SocketAsyncEventArgs, доступного еще с середины нулевых, всё-равно оказывается эффективней всех новомодных способов, даже которые через VaueTask. ))

Сравнить с node.js, где одна точка входа при инициализации чтения и обратная при получении уже прочтённых данных.
И оба раза пересечение нейтива и VM-среды бесплатное, как в обычных нейтивных вызовах, в отличие от дотнета, где вызов нейтива дорогой, а из нейтива обратно — еще в два раза дороже.


I>Кроме того, куча вещей в Core были переписаны полностью на менеджед, что бы убрать значительную часть нативных вызовов.


А куча, наоборот, была вынесена в нейтив, что слегка ускорило тот же SSL, который сегодня является основной технологией подключения к веб-ресурсам.
В .Net Framework эффективность SSL была ниже плинтуса.

Сейчас тоже всё еще не айс, но я вижу, что ведутся активные работы, т.е. исходники меняются до неузнаваемости от .Net Core 1.x до .Net Core 2.x, до 3.x, до 5.0 и до 6.x
Наверно, это единственный участок .Net Core, который не разрабатывается последовательно, как вся остальная функциональность, а чуть ли не всерьёз пересматривается каждый раз.
(кроме 5.0 -> 6.x, там только вижу добавления к существующей функциональности, но вряд ли нынешняя реализация будет окончательной, т.к. после столь серьезных переделок код обычно попадает в категорию "нового", "сырого" и т.д.)
Отредактировано 30.08.2021 17:26 vdimas . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.