Здравствуйте, HFTMan, Вы писали:
HFT>Это результаты проектирования сразу на performance, не более(пулинг памяти, кешфрендли раскладка данных, отсутствие динамической аллокации ака предварительный подъем "мира" разом, инлайнинг кода в HotPath, уменьшение меморитраффика в алгоритмах, использование векторизации где только она втыкается и дает результат и прочая).
в той же сцилле, никакой мир разом не поднять, в любой СУБД материализовать в памяти все что только можно заранее — гиблое дело
еще там полно динамических аллокаций, так что интуиция насчет проектирования на performance неверная
HFT>Только есть огроменный нюанс-код на шарпе быстрее разрабатывать, компилировать, сопровождать, и чем больше инфраструктура-тем больше выигрыш.
HFT>А так уже все сказано здесь:
HFT>https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/csharpcore-gpp.html
HFT>Если где-то прямо сильно плюса бустят HotPath-не проблема воткнуть конкретный кусман код на нем и через PInvoke заюзать. Но пилить все на плюсах?
HFT>Плюсы остались только там, где уже вбуханы человеко-года(а то и десятки человеко-лет)-в конкретную инфру и отказываться от неё никто не будет.
HFT>А начинать с нуля пилить подобное? Ну ок-вперед! Пока вы годами будете пилить то, что на других техстеках при прямых руках делается за месяцы
я не помню когда в последний раз писал на плюсах что-то такое, что было сильно сложнее дольше чем на шарпе или джаве, современные плюсы сейчас за тебя даже операторы генерируют
в нормальном коде обычно нет арифметики указателей, а работа с коллекциями и объектами выглядит точно также как и в друих языках, управление памятью тоже автоматизированно
в целом я согласен, что на шарпе или жаве писать проще и быстрее, но есть один ньюанс, если в плюсах я испорчу память, то легко найду это с помощью ASan, низкоуровневый код на шарпе или джаве тоже может испортить память, но вот помощи от туллинга — никакой, ну а сильно оптимизированный код выглядит сильно хуже чем на плюсах (скажем та же векторизация, в плюсах я могу положиться на компилятор и написать простой цикл, в шарпе же сам понимаешь что получится)