169 похожих чатов

Почему компания вроде jane street использует язык с gc вроде

ocaml? Разве такой финтех не юзает verilog c++ , и прочую суету

24 ответов

6 просмотров

У них разные задачи есть, и далеко не везде супер-рилтайм требуется. Там, где требуется, используются FPGA, например (в каких-то из подобных задач). А где не требуется — OCaml (почему бы и нет).

К слову, современные GC всё более для рилтайма пригодны. State of the art сдвигается. Уже не удивишь гарантией задержки сборки в < 1ms (например, её дают специальные рантаймы для Java; или даже Golang).

Во-первых, high-frequency trading это их не основная специализация. Они маркетмейкеры и берут объемами и играют вдолгую и на рисках. Во-вторых, в HFT они всё-таки тоже умеют https://github.com/janestreet/hardcaml

Они не hft трейдеры, они хедж-фонд менеджеры

Ivan
Во-первых, high-frequency trading это их не основн...

а ещё меня извращенцем называли...

Dmitry Ponyatov
а ещё меня извращенцем называли...

Почему? Сейчас мода на высокоуровневые языки в проектировании чипов.

Dmitry Ponyatov
а ещё меня извращенцем называли...

Ну Chisel довольно популярный а это скала дсл по сути

Потаённый Братец
Ну Chisel довольно популярный а это скала дсл по с...

Сейчас ещё пилят circt, с поддержкой FIRRTL как раз из того самого Chisel

The Zazaeil
каким образом такая гарантия получается?

Да, гарантия — слишком громкое слово. Это не hard-realtime ведь. Да и невозможно такое на обычных операционных системах. Но это best-effort с хорошими статистическими характеристиками и низким на практике tail-latency. Что до способов реализации — они разнообразные. Например, Go принёс в жертву уплотнение кучи — объекты не перемещаются там. И это снижает throughput и портит локальность, но и уменьшает задержки. А ZGC в Java вообще "pauseless" (типа), т.к. мусор собирают треды фоновые.

SystemEng- Автор вопроса
Максим Муратов
Да, гарантия — слишком громкое слово. Это не hard-...

как понять hard-realtime?) что под этим подразумевается ? Сори за вопросы, просто я джун на гошки.

SystemEng
как понять hard-realtime?) что под этим подразумев...

Это когда гарантии нужны. Иначе человек умрёт, или реактор взорвётся, например. А soft-realtime — статистическое.

SystemEng
как понять hard-realtime?) что под этим подразумев...

https://stackoverflow.com/questions/17308956/differences-between-hard-real-time-soft-real-time-and-firm-real-time

Максим Муратов
Это когда гарантии нужны. Иначе человек умрёт, или...

Hard-realtime означает всеволишь константные кванты времени. Как правило ниже определенного (тем не менее произвольного) порога. То есть если наш системный таймер гарантированно производит импульс в Х миллисекунд и все обработчики таймера гарантированно отрабатывают до следующего импульса — это хард рил-тайм, даже при Х исчисляемого десятками, а то и сотнями. Противная ситуация должна приводить к системной ошибке. Соответственно «мягкий пиал-тайм» — это когда в некотрых ситуациях импульс таймера не случился и/или какие-то обработчики не обработались до следующего импульса. Например по причине блокировки или stop-the-world GC. В таких системах упущенный такт не приводит к системной ошибке Soft/hard рилтайм не имеет общего с отзывчивостью системы и тем более с гарантиями

The Zazaeil
каким образом такая гарантия получается?

запуском gc в отдельном потоке РТОС , или квитированием времени работы (для игр актуально) ?

Dmitry Ponyatov
запуском gc в отдельном потоке РТОС , или квитиров...

так а как гарантировать, что GC за отведенный квант времени успеет собрать необходимое количество мусора для следующей аллокации?

The Zazaeil
так а как гарантировать, что GC за отведенный кван...

никак, максимум аварийный callback задаче пришлёт "ты обосралась в кучу, врубай тормоза и суши вёсла"

The Zazaeil
какая восхитительная гарантия

Нормальная гарантия. Гарантия длительности пауз есть? Есть. Гарантий отсутствия OOM при определенном GC pressure никто не давал. Трейдофы же всегда есть.

Потаённый Братец
Нормальная гарантия. Гарантия длительности пауз ес...

я не вижу ничего хорошего ни академически, ни тем более практически в том, чтобы сводить якобы к out of memory ситуацию, когда memory-то есть, просто за отведенный квант времени GC не успел ее вернуть в достаточном количестве.

The Zazaeil
я не вижу ничего хорошего ни академически, ни тем ...

Не почему есть, пока есть оно будет работать

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
50
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
буквально один оставшийся вопрос при выполнении строчки mov eax, 5 операнд "5" будет присутствовать где-либо в памяти (любой), кроме как в памяти блока .code? подвопрос: как...
12
Всем ку. Подскажите, если задекларировал массив так: int arr[10] = {1, 2, 3, 4}, то в arr[4] будет мусор или нуль?
Sasha K
14
я не понимаю mov [r11+8],rcx и прочие. мы записываем значение из rcx, куда?
Bor
15
у меня такой вопрос про память в x86 возник, может кто пояснить?.. у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше)...
Toideng
5
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
А какие расширения активно используются в промышленности? Именно идейные, по типу гадт, а не всякие оверлоадедстрингс
Степан
11
у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше): - "п1" --- виртуальный адрес, то есть тот, который ресолвится в "п...
Toideng
3
Guys Who’s kurdish on this group?
Hiwa Amiri
11
Карта сайта