【Rust日报】 2019-04-28:一家金融公司已经把 Rust 用在高频交易领域

2024-01-26 14:50

本文主要是介绍【Rust日报】 2019-04-28:一家金融公司已经把 Rust 用在高频交易领域,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Rust 嵌入式开发的一个小示例:用一个LED灯说出 Hello world

要用一个 LED 灯说出 Hello world。当然是需要用到莫尔斯编码啦(就是港警匪片中经常出现的那个用手指或枪有节奏地发出声音的那个信号序列)。

就像下面这个样子,

640?wx_fmt=png

视频地址 需fq。

作者参考了 The Embedded Rust Book 和这个样板项目

用了 openocd 来调试。然后向代码中灌入了:

.... . .-.. .-.. ---  .-- --- .-. .-.. -..

作为数据源,小板子就闪起来了。

结果 ...- . .-. -.-- -.-. --- --- .-.. -.-.-- (verycool)

Read More

Rust 官方已经在做支持 UWP(Universal Windows Apps) 编译目标的工作了

UWP 在Win10 Mobile, Xbox One, HoloLens 上使用,虽然Win10手机已经死翘翘了,但是另外两样很有竞争力啊。所以Rust官方还是要支持的。

Read More

使用 crossterm 进行跨平台终端应用开发

Rust世界中终端库很多,但是完全跨平台的终端库不多,crossterm 算一个。下面是用它开发的Pikachu.

来看看 3D 效果。

Read More

rust-proctitle :安全的设置进程名称的库

主要卖点在它是跨平台的。

Read More

韩国一家金融公司已经把 Rust 用在了一个正式的盈利的高频交易项目上

当然,是没有开源的啦。作者只是在reddit上通报了一声,说了一下这个项目的大致情况。

这个项目在16个月前立项。上线交易近10个月,盈利9个月。交易策略重写花了7个月,上线部署花了1个月。最终的效果是Rust在各方面都打败了c++版本,虽然只是一点点性能提升。不过作者还没有提到安全性和稳定性的问题。

高频交易按道理说,应该是Rust能展示威力的地方,只是这块儿非常敏感,所以试水比较缓慢,现在终于有人出来公开宣传了。赞赞赞!

Read More

在 no_std 下,如何做序列化

这是一个不常见的问题,但是如果是针对嵌入式设备编程,或手持设备进行游戏开发。这会是一个重要问题。作者给了以下3个要求:

  1. 只有 64M RAM

  2. 磁盘上的空间使用应该尽可能小,比如应该用二进制存储而不是JSON

  3. 能支持 no_std,也能支持其它目标

最后作者把 quick-protobuf 拿过来改了改,满足了要求。

Read More

rubot - 一个独立的可嵌入其它游戏中的游戏机器人库

非常容易使用,比如:

  • tic-tac-toe

  • chess

  • oko

Repo

futures-codec: 配合 Future 0.3 进行流编解码的库

用过 tokio_codec 的都知道,我们需要用 poll 不断去检查流有没有输出结果,并对 Ready 还是 NotReady 返回分别判断处理,现在有了这个库,就可像下面这样更“符合人性”直观地写了:

async move {// let stream = ...let mut framed = Framed::new(stream, LinesCodec {});while let Some(line) = await!(framed.try_next())? {println!("{:?}", line);}
};

这个库只是Future 0.3 大生态的一部分。这个生态还是慢慢完善当中。

Repo

offst - 去中心化的支付系统

这个支付系统看起来很有趣。它有如下特性:

  • 有效快速支付。Offst不依赖于一个区块链或者任何形式的PoW。每个交易只影响网络中的一小部分节点。支付通常在一秒内完成。

  • 低支付费用。支付费用只由支付经过的路由长度决定。路径上的每个路由参与者只得到一份credit。

  • 公正的资产分布。Offst系统中总的 credits 是0,并且最终会在所有成员之间公正分布。

  • 如果你丢失了Key,你可以向你的朋友请求恢复你的账户。

  • 拒绝审查。没有任何实体可以阻止或审核你的交易。

  • 完全原始控制。Offst是可编程的,可以二次开发,方便地定制上层应用。

这套系统背后的原理请阅读下文。个人感觉很有意思。

Read More

warmy - 通用的热加载/重载资源库

我们的在线系统中,经常会有些资源文件(如配置更改),需要重新加载。最简单的方式当然是把服务停掉,重启。但是对于高可用度在线服务来讲,这是不可取的。要么就把配置存数据库或缓存redis等。现在有了这个库,你按它指导的方式进行编程,就可以实现我们想要的目的(不需要数据库)。具体需要试用后才知道好不好用。

它还有资源发现的功能。

Repo

rividb - 一个简单的内存并行解析析数据库

作者强调高性能。

Repo

sauron - 一个 Web 前端开发框架

什么,又来一个。跟 yew 有什么区别?这个库是仿 elm 的风格做的。其实,也是基于 yew 之上的封装。目标是易用,好用。

作者:ivanceras,是一位有趣的开发者。svgbob,spongedown等,都是他的作品。

karaoke-rs - Rust 写的音乐播放器(在浏览器中)

有点好玩儿。有需要关于音乐文件处理的方面内容的同学,可以借鉴。

Repo

Rubble - BLE(低功耗蓝牙),零分配协议栈

Rust嵌入式开发中需要用到的库。

Repo

mamba - 用 Rust 写的一个语言

mamba语言翻译器会把 mamba 代码翻译成 python 代码。所以,它的后面,就是 Python 生态。

mamba

luminance-rs - 类型安全,无状态的 Rust 图形框架

这之前是一个 haskell 项目,作者把它移值到了 rust 中来,然后顺便分析了一下当前 Rust 中图形框架目前的生态。作者看起来很雄心勃勃。下面的博文非常好。可以关注。

Read More Repo


From 日报小组 @Mike

PS: 文中链接不可点乃公众号限制,点击左下角阅读原文跳转到各链接。

这篇关于【Rust日报】 2019-04-28:一家金融公司已经把 Rust 用在高频交易领域的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/647159

相关文章

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

取得 Git 仓库 —— Git 学习笔记 04

取得 Git 仓库 —— Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。 下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。 怎样取得项目的 Git 仓库? 有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个

【Rust练习】12.枚举

练习题来自:https://practice-zh.course.rs/compound-types/enum.html 1 // 修复错误enum Number {Zero,One,Two,}enum Number1 {Zero = 0,One,Two,}// C语言风格的枚举定义enum Number2 {Zero = 0.0,One = 1.0,Two = 2.0,}fn m

PostgreSQL核心功能特性与使用领域及场景分析

PostgreSQL有什么优点? 开源和免费 PostgreSQL是一个开源的数据库管理系统,可以免费使用和修改。这降低了企业的成本,并为开发者提供了一个活跃的社区和丰富的资源。 高度兼容 PostgreSQL支持多种操作系统(如Linux、Windows、macOS等)和编程语言(如C、C++、Java、Python、Ruby等),并提供了多种接口(如JDBC、ODBC、ADO.NET等

linux中使用rust语言在不同进程之间通信

第一种:使用mmap映射相同文件 fn main() {let pid = std::process::id();println!(

第二十四章 rust中的运算符重载

注意 本系列文章已升级、转移至我的自建站点中,本章原文为:rust中的运算符重载 目录 注意一、前言二、基本使用三、常用运算符四、通用约束 一、前言 C/C++中有运算符重载这一概念,它的目的是让即使含不相干的内容也能通过我们自定义的方法进行运算符操作运算。 比如字符串本身是不能相加的,但由于C++中的String重载了运算符+,所以我们就可以将两个字符串进行相加、但实际

力扣第347题 前K个高频元素

前言 记录一下刷题历程 力扣第347题 前K个高频元素 前K个高频元素 原题目: 分析 我们首先使用哈希表来统计数字出现的频率,然后我们使用一个桶排序。我们首先定义一个长度为n+1的数组,对于下图这个示例就是长度为7的数组。为什么需要一个长度为n+1的数组呢?假如说总共有三个数字都为1,那么我们需要把这个1放在数组下标为3的位置,假如说数组长度为n,对于这个例子就是长度为3,那么它的

浙大数据结构:04-树7 二叉搜索树的操作集

这道题答案都在PPT上,所以先学会再写的话并不难。 1、BinTree Insert( BinTree BST, ElementType X ) 递归实现,小就进左子树,大就进右子树。 为空就新建结点插入。 BinTree Insert( BinTree BST, ElementType X ){if(!BST){BST=(BinTree)malloc(sizeof(struct TNo

CCF推荐C类会议和期刊总结(计算机网络领域)

CCF推荐C类会议和期刊总结(计算机网络领域) 在计算机网络领域,中国计算机学会(CCF)推荐的C类会议和期刊为研究者提供了广泛的学术交流平台。以下是对所有C类会议和期刊的总结,包括全称、出版社、dblp文献网址以及所属领域。 目录 CCF推荐C类会议和期刊总结(计算机网络领域) C类期刊 1. Ad Hoc Networks 2. CC 3. TNSM 4. IET Com

【vue3|第28期】 Vue3 + Vue Router:探索路由重定向的使用与作用

日期:2024年9月8日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉在这里插入代码片得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^ 1.01365 = 37.7834;0.99365 = 0.0255 1.02365 = 1377.4083;0.98365 = 0.0006 说