QuantLib переписывают на Rust: 470 тысяч строк C++ ради безопасности

QuantLib переписывают на Rust: 470 тысяч строк C++ ради безопасности

Один из самых уважаемых open-source проектов в финансовой математике — библиотека QuantLib — получил Rust-переосмысление. Авторы нового проекта Libitofin переносят примерно 470 тысяч строк зрелого C++ кода на безопасный идиоматичный Rust, и это заметно больше, чем просто «переписать на модном языке».

QuantLib — это 16 модулей проверенного временем кода для оценки производных финансовых инструментов. Именно на таких библиотеках держатся расчёты в банках и хедж-фондах, где ошибка в численных методах стоит очень дорого. Поэтому главный принцип порта — не менять математику, а сохранить её один в один.

Как устроен перенос

Авторы описывают подход как «снизу вверх, слой за слоем»: модуль нельзя портировать раньше его зависимостей. Оракулом корректности выступает родной тест-сьют QuantLib из 186 файлов .cpp — функция считается готовой только тогда, когда перенесены соответствующие тесты и вывод Rust совпадает с выводом C++ в пределах допуска.

Архитектурно ядро однопоточно-изменяемое на этапе настройки, а затем «замораживается» в неизменяемые снимки для параллельных вычислений через rayon — так удаётся обойтись без гонок данных. Поверх ядра лежат привязки к Python (через PyO3) и C-ABI (через cbindgen), поэтому один и тот же движок доступен из Python, C, C++, Julia, R и других языков. Название проекта — отсылка к Киёси Ито, чьё стохастическое исчисление лежит в основе современного ценообразования деривативов.

Отдельно авторы фиксируют дисциплину коммитов: целевой размер изменения — не более 350 строк, жёсткий предел — 500, всё крупное дробится на отдельные PR. В духе Rust предпочтение отдаётся типам времени компиляции и явным ошибкам Result вместо рантайм-кастов и тихих фолбэков, а удобства вынесены в привязки. Подробности можно найти в документации проекта.

Что это значит

Для индустрии это сигнал: переписывание критичного по надёжности кода с C++ на Rust перестаёт быть экспериментом и превращается в методичную инженерную практику с чёткими критериями приёмки. Для разработчиков финансового ПО появляется шанс получить движок без ручного управления памятью и циклических shared_ptr, но с той же численной точностью — а значит, и с меньшим числом дорогих сюрпризов в продакшене.

Если вам интересно, как устроены современные подходы к безопасному системному программированию и миграции legacy-кода, узнайте больше — там разбираются подобные инженерные кейсы простым языком.

📌 Чтобы не пропустить новые публикации, подписывайтесь там, где вам удобнее: Дзен или MAX.

💛 Если статья оказалась полезной, поддержите автора донатом.

Материал подготовлен на основе информации из открытых источников. Все права на исходные материалы принадлежат их авторам. Если вы являетесь правообладателем и возражаете против использования, свяжитесь с нами по адресу info@11st.press.

Related Posts

ИИ научился управлять ИИ: программисты переживают второй кризис за год

ИИ научился управлять ИИ: программисты переживают второй кризис за годПомните, как в начале года мы все учились разговаривать с кодовыми агентами? Осваивали промпты, гордились, что умеем заставить Claude Code или Codex писать код за нас. А теперь появился инструмент, который умеет управлять этими агентами сам — и это меняет правила игры.Речь о GrokBot — системе,…

Kubernetes снова обновился: что важно знать, если вы деплоите в облако

Kubernetes снова обновился: что важно знать, если вы деплоите в облакоЕсли ваши сервисы живут в Kubernetes, вы наверняка привыкли, что «стабильных» релизов не бывает слишком много. Очередная версия платформы приносит не только свежие фичи, но и напоминание: инфраструктурный код требует такого же ухода, как и приложение. Давайте спокойно разберёмся, что там внутри и почему это…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Возможно, вы пропустили

Что посмотреть на этих выходных: детектив с Кириллом Кяро, криминальная драма с Янковским и не только

  • От sbrayn
  • 13 ноября, 2026
  • 2 views
Что посмотреть на этих выходных: детектив с Кириллом Кяро, криминальная драма с Янковским и не только

Цифровой рубль вошёл в нашу жизнь: что это значит для кошелька и повседневных платежей

  • От sbrayn
  • 13 ноября, 2026
  • 6 views
Цифровой рубль вошёл в нашу жизнь: что это значит для кошелька и повседневных платежей

IPO снова в моде: почему бизнес спешит на биржу

  • От sbrayn
  • 13 ноября, 2026
  • 11 views
IPO снова в моде: почему бизнес спешит на биржу

Без уколов: умные часы смогут следить за сахаром в крови

  • От sbrayn
  • 13 ноября, 2026
  • 11 views
Без уколов: умные часы смогут следить за сахаром в крови

Boston Dynamics поставила Atlas на колёса — и он сразу выдал пируэт

  • От sbrayn
  • 13 ноября, 2026
  • 7 views
Boston Dynamics поставила Atlas на колёса — и он сразу выдал пируэт

Убыток в 8 миллионов, но есть и хорошая новость: разбираем отчёт Economatica

  • От sbrayn
  • 13 ноября, 2026
  • 6 views
Убыток в 8 миллионов, но есть и хорошая новость: разбираем отчёт Economatica