Production deployment of Rust in HFT system at Korean financial company

https://www.reddit.com/r/rust/comments/bhtuah/production_deployment_of_rust_in_hft_system_at/

A Korean financial company runs a profitable HFT(High Frequency Trading) system with DMA(Direct Market Access) to KRX(Korea Exchange). We rewrote trading strategies and related code from C++ to Rust, and the system recently got deployed to production.

The project has been up for 16 months, the trading has been up for 10 months, it has been profitable for 9 months, Rust build integration has been set up for 10 months, trading strategy rewrite has been worked for 7 months, the final push took a month. The final push required Rust version beating (already quite optimized) C++ version in latency in all cases, even if it is just a little bit. This was achieved. (Although to be honest, it was actually achieved by switching active development to Rust and putting C++ version in maintenance mode.)

x86_64-pc-windows-msvc target is used with Visual Studio MSBuild based build system for release and x86_64-unknown-linux-gnu target is used with CMake based build system for CI. bindgen and cbindgen are used for C++ FFI. C++17 standard is used, with Visual Studio 2017 and GCC 8. Rust toolchain used is stable channel and immediately updated after the release. Cargo dependencies are locked and updated discretionally. vcpkg is used for C++ package management, both on Windows and Linux. CI was CircleCI 1.0 running on Ubuntu 16.04 LTS, but switched to CircleCI 2.0 with Docker with freedom from dealing with old versions. Deployment is automated by PowerShell Remoting.

Ask me anything, although I can‘t say I will answer anything. If you are interested in work, PM me. This is posted in the hope that it would be useful as a precedent, because we experienced such resistance first hand.

原文地址:https://www.cnblogs.com/dhcn/p/12105487.html

时间: 2024-10-15 06:45:30

Production deployment of Rust in HFT system at Korean financial company的相关文章

[React] Configure a React & Redux Application For Production Deployment and Deploy to Now

In this lesson, we’ll make a few small changes to our scripts and add some environment variables that will be used at build time to get our application ready to be deployed to a production environment using the now service. Once properly configured,

easy installation booster system——stream

Tianjin Elecmotor CO.,LTD.is a global generic electromechanical productmanufacturer & distributor since founded in 1999. We are known for pumptechnology research, innovative designing, professional production andcustomer-oriented marketing.easy insta

swift分布式存储多节点部署

1.机器 192.168.1.211    Proxy Node 192.168.1.212    Storage Node 192.168.1.213    Storage Node 192.168.1.214    Storage Node 系统为SLES11sp1 2.配置软件源 因为公司服务器无法连外网,所以配置局域网源和本地源来搭建环境 上传ISO镜像文件到各台机器 SLES-11-SP4-DVD-x86_64-GM-DVD1.iso 每台机器挂载镜像,配置本地源 # mkdir /m

复杂和遗留的数据库schema

本文作者:苏生米沿 本文地址:http://blog.csdn.net/sushengmiyan/article/details/50414652 In this chapter, we focus on the most important part of your system: the databaseschema, where your collection of integrity rules resides-the model of the realworld that you've

《Velocity java开发指南》中文版(下)转载

文章出自:http://sakyone.iteye.com/blog/524292 8.Application Attributes Application Attributes (应用程序属性)是和VelocityEngine 的运行时实例(Runtimeinstance)相关联的,名-值对(name-value pairs)格式的参数,可用来存运RuntimeInstance时的信息. 设计这个功能的目标是Velocity程序需要与应用层或用户定制部分(如日志,资源,装载器等)通信. The

Installing node-oracledb on Microsoft Windows

版本 7 由 Laura Ramsey-Oracle 于 2015-10-19 下午11:46创建,最后由 cj 于 2015-10-22 下午7:44修改. Installing node-oracledb on Microsoft Windows Bill Christo In this article Bill Christo (bchr02) leads you step-by-step though the process of installing node-oracledb on

Continuous Delivery Maturity Model

How mature are our Continuous Delivery and automation practices? Where can we get the most improvement for our specific problems and needs? How are other organizations solving these same problems? This guide can help you answer these questions. Autom

dfsdf

This project was bootstrapped with Create React App. Below you will find some information on how to perform common tasks. You can find the most recent version of this guide here. Updating to New Releases Create React App is divided into two packages:

Flink应用案例:How Trackunit leverages Flink to process real-time data from industrial IoT devices

January 22, 2019Use Cases, Apache Flink Lasse Nedergaard     Recently there has been significant discussion about edge computing as a major technology trend in 2019. Edge computing brings computing capabilities away from the cloud, and rather close t