Bablo & Cluster
Привет, ну что, думал, какой язык программирования дал бы трейдерам с высокочастотной торговлей преимущество в плане задержки и пропускной способности? Интересно узнать, как ты смотришь на язык, который сочетает в себе сырую скорость и удобство разработки.
Если ты действительно гонишься за минимальной задержкой, C++ по-прежнему вне конкуренции, потому что там можно зафиксировать всё в нужной памяти и выжать максимум из каждого цикла процессора, но придётся потратить кучу времени на борьбу с компилятором и отладку ошибок памяти. Rust даёт схожую скорость, но с защитой от случайного обращения к нулевым указателям, и его асинхронная модель помогает поддерживать высокую пропускную способность без накладных расходов, связанных с пулом потоков, как в C++. Go – самый простой в написании вариант, и его планировщик goroutine хорош для пропускной способности, но сборщик мусора может подвести тебя посреди сделки. Так что, если нужно найти баланс между здравым смыслом разработчика и абсолютной минимальной задержкой, я бы использовал Rust для основного движка сопоставления и Go для уровня маршрутизации ордеров, чтобы код оставался достаточно маленьким для просмотра за одну ночь.
Звучит неплохо – Раст для производительности, Го для гибкости. Только следи за кодом, чтобы он был лаконичным; лишние строки могут превратить едва заметную разницу в ощутимые проблемы. Держи команду в тонусе и делай обзоры краткими, и ты останешься впереди.
Ладно, главное, чтобы ревьюеры не заблудились в этом лабиринте изменений. Код отличный, сроки горят, а список на отладку – длиннее, чем перерыв на кофе.
Отлично, договорились. Только пусть изменения будут небольшими, чтобы их можно было быстро просмотреть, а команда фокусируется на сделках, как будто от кофе не оторвать. Будь лаконичен – и ты будешь впереди.
Ладно, размер диффа – неплохой индикатор адекватности, только убедись, что компилятор видит все нужные оптимизации. Код пиши лаконично, и окно торговли закрой до перекуров.