Igor
вот еще вопрос
Igor
смотрю сюда https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/CSharp/aspnetcore-corert/aspcore-corert-rhtx.dockerfile
Igor
и сюда https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/FSharp/giraffe/giraffe-utf8json.dockerfile
Igor
в c# там что-то еще доставляют, нахера оно нужно?
Igor
абстракции. но жираф лучше кор-мвц
это всё понятно, но даже тест plain-text сильно сливает в фарше
Ayrat
Жираф еще ничего. MVC вообще оверхед накручивает и замедляется в 5 раз
Ayrat
это всё понятно, но даже тест plain-text сильно сливает в фарше
ты неправильно понимаешь бенчмарки, там языки вообще ни причём
Ayrat
напиши ты первый бенч на F# - ничего не изменится
Ayrat
ну эт который aspcore
Ayrat
Удивительно что приходится это пояснять
Ayrat
Ты ж хотел посмотреть на производительность фреймворков - вот она. Про языки - это не сюда
Hog
в аспкоре - там небось ни парсинга хедеров, ни раутов
Igor
хотите сказать что на c# там голый kestrel? ну ок
Ayrat
там голый делегат вешается с преаллоцированным буфером на ответ
Hog
ну там сорцы есть
я любознательный, но не настолько :)
Ayrat
хотите сказать что на c# там голый kestrel? ну ок
ачо такого? это ж бенчмарки, бессмысленные и беспощадные
Igor
да ничего, всё ок, теперь понятно
Igor
а в докере csharp что за муть творится?
Igor
понаставили cmake clang
Igor
а, там AOT
Hog
https://github.com/dotnet/llilc/blob/master/Documentation/Getting-Started-For-Linux-and-OS-X.md
Диёр
А зачем бенчмарки вообще смотреть
Hog
они б ещё в ядро свой бенчмарк вкрячили
Hog
А зачем бенчмарки вообще смотреть
🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜🦜
Диёр
Ни одного бенчмарка не помню, который бы не закидали говном
Ayrat
в аспкоре - там небось ни парсинга хедеров, ни раутов
Вот тебе все объявление https://github.com/TechEmpower/FrameworkBenchmarks/blob/3e9b0432f2e79b4b1bd40883430a07f4a7ffe396/frameworks/CSharp/aspnetcore/PlatformBenchmarks/Program.cs#L59-L67 Вот самописный стринг https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/CSharp/aspnetcore/PlatformBenchmarks/AsciiString.cs Вот ебанутый раутинг https://github.com/TechEmpower/FrameworkBenchmarks/blob/3e9b0432f2e79b4b1bd40883430a07f4a7ffe396/frameworks/CSharp/aspnetcore/PlatformBenchmarks/BenchmarkApplication.cs#L51-L86 А вот плейтекст например https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/CSharp/aspnetcore/PlatformBenchmarks/BenchmarkApplication.Plaintext.cs
Igor
да чо там интересно, вон можно какие-то штуки заюзать и нахаляву чуть по быстрее станет
Ayrat
Я к тому что этот бенчмарк конечно любопытный, но такой код ты нигде больше не увидишь. На F# было бы ровно то же самое
Диёр
Во всех случаях люди жалуются что автор мог бы написать оптимальнее, забыл флажки для компилятора или окружение настроить
Igor
да я понял что нахачили по полной программе
Ayrat
да я понял что нахачили по полной программе
Чтобы хоть какую-то картину представить надо platform отфильтровывать, там хаки на хаках и в проде так только nginx пишут наверное и какой-нибудь кастомный лоад балансер в нетфликсе
Диёр
Йеее олимпиадное программирование и хуйлоад капы
Диёр
Написали бы сразу на плюсах, биндинги и красиво заимпортить
Igor
ну вот интересная строчка: ENTRYPOINT ["dotnet", "PlatformBenchmarks.dll", "KestrelTransport=LinuxTransport"]
Igor
фигак и вместо 71% получилось 94
Romɑn
Ayrat
В итоге самый адекватный бенч это который в бд лезет
ну так уже надо все возможные сочетания фрейморвк + бд измерять
Ayrat
Написали бы сразу на плюсах, биндинги и красиво заимпортить
Вот как раз техемпавер показывает что можно не писать на плюсах и получить такую же скорость. Ну и нормальный язык в придачу
Диёр
Надо было в саентологи идти
Ayrat
C++ 6,998,172 C# 6,993,704 Я хз какая у них там погрешность измерений
Ayrat
Но мне кажется что эта разница в пределах погрешности
Ayrat
Это реквестов?
да, это плейнтекст. Лучшая либа плюсов ulib против асп нет кора
Hog
ну там же этот ц# потом в ц++ перегоняется - нет?
Hog
а
Ayrat
И вообще нахуя перегонять в C++?
Диёр
Я думаю прибежали бы свидетели байтов и сказали бы что на плюсах можно ещё эффективнее
Hog
сланг смейк - вот это вот всё?
Hog
я спрашиваю!
Hog
зачем-то их в тот бенч добавили же
Диёр
и что это даст?
Древний компилятор с оптимизациями времён моего прадеда
Ayrat
Древний компилятор с оптимизациями времён моего прадеда
Ну, как видишь, древние оптимизации никак плюсам не помогают
Диёр
Фаза Луны не та
Диёр
Для вскода нет плагина, который фазы луны отображает?
Диёр
Если нет, то надо написать
Ayrat
зачем-то их в тот бенч добавили же
Чот найти не могу https://github.com/TechEmpower/FrameworkBenchmarks/tree/master/frameworks/CSharp/aspnetcore/PlatformBenchmarks
Ayrat
зачем-то их в тот бенч добавили же
да и докерфайл для этого бенча обычный как полено https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/CSharp/aspnetcore/aspcore.dockerfile RUN dotnet publish -c Release -o out ENTRYPOINT ["dotnet", "PlatformBenchmarks.dll"]
Ayrat
На фарше +- также было бы?
Абсолютно. Ты просто передираешь один в один C# код
Hog
ха. значит это в ином
Ayrat
Там даже IL будет идентичный скорее всего
Диёр
Ну усё, завтра напишу на фарше что-нибудь, закидаю себя и скажу что я хайлоад разраб
Диёр
Пусть зп повышают
Hog
aspcore-corert-rhtx.dockerfile
Ayrat
aspcore-corert-rhtx.dockerfile
тут в названии всё сказано!!
Ayrat
CoreRT
Hog
а
Ayrat
и это другой бенч, да
Андрей
в это время в чехии…
Hog
в это время в чехии…
я тоже на его твитор подписан :)
Hog
поржал с названия :)