日常Rust开发性能优化技巧,分享~

非凸科技 2021-12-30 16:21:24

日常Rust开发性能优化技巧:

1.对于只被调用一次的函数,可能并不需要进行优化

2.优化改进你的算法

3.要充分理解Rust中数据结构的内存布局,它们在栈上和堆上是如何分配的

4.避免Box<Trait>动态分发

5.使用基于栈的可变长度数据类型

6.合理使用断言避免数组越界检查

7.使用链接时优化(LTO)

8.不要使用#[inline(always)]

9.避免显式 Clone

10. 使用 Unsafe 方法消除一些不必要的安全检查

11.并发/并行化你的程序

12.  并发程序中,合理使用锁,或替换无锁数据结构

13.使用 Clippy 工具对代码进行静态分析,它可以针对性能改进提供一些建议

 

非凸科技(https://ft.tech)正基于Rust生态打造高效率、低延迟、高可靠、全内存高频交易平台,为券商、量化私募等大型金融机构保驾护航。期待热爱Rust、热爱量化的你,加入非凸!

 

【应聘岗位】算法交易工程师

【投递邮箱】recruit@ft.tech

【微信沟通】354334592

【薪资】base30k-60k+期权激励+年终奖+各种福利

【工作地点】北京、上海、成都

【福利待遇】

  1. 行业内极具竞争力的报酬,30k-60K x 16+,优秀者另有期权
  2. 五险一金,免费体检,定期团建
  3. 水果饮料,下午茶,零食供应,还有有节日美食
  4. 双休,弹性工作,早9点-晚6点,根据实际情况会有一定的加班
  5. 每月3000租房补贴,随工资一起发放
  6. 全员MacBook

岗位JD

【岗位职责】

1.设计并开发高性能,低延时的算法交易系统,研发交易模型;

2.设计并开发策略相关回测平台,并面向量化研究团队以及客户的实际需求,开发高可用的交易工具;

3.设计并开发数据处理平台,参与交易结果分析,交易系统性能分析,进行相关数据清洗、整理及相关工作。

【岗位要求】

1.拥有计算机科学、数学、统计学或者相关领域本科及以上学历,国内外一流大学优先;

2.熟练掌握Linux操作,能熟练使用一种或多种编程语言,Rust/C++/Java/Go/python均可;

3.具有分布式计算、自然语言处理、机器学习、平台开发、网络或者系统设计方面的经验;

4.国内外计算机/数学/物理学竞赛奖项加分;

5.对技术、软件开发和数学充满热情。

...全文
1460 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-编程语言 发布问题, 以便更快地解决您的疑问
内容概要:SSD2828QN4是一款MIPI主桥接芯片,用于连接应用处理器与传统并行LCD接口及支持MIPI从属接口的LCD驱动器。该芯片支持最高每通道1Gbps的串行链路速度,最多可配置4个数据通道,显著减少了信号数量。它支持多种接口模式,包括RGB+SPI组合接口,适用于驱动智能或非智能显示面板,并能通过命令模式和视频模式传输数据。芯片内置时钟和复位模块、外部接口、协议控制单元(PCU)、包处理单元(PPU)、错误校正码/循环冗余校验(ECC/CRC)模块、长包和命令缓冲区、D-PHY控制器、模拟收发器以及内部锁相环(PLL),确保了高效的数据传输和系统稳定性。此外,文档详细描述了芯片的引脚分配、寄存器设置、操作模式、电源序列、时序特性等关键参数,为开发者提供了全面的技术指导。 适合人群:具备一定硬件设计基础,从事嵌入式系统开发、显示技术研究的研发人员。 使用场景及目标:①实现应用处理器与MIPI兼容显示屏之间的高速数据传输;②优化显示系统的功耗表现,减少电磁干扰(EMI);③通过灵活配置不同接口模式来适应各种显示设备的需求。 阅读建议:此文档面向具有一定电子工程背景的专业人士,建议读者结合实际项目需求深入理解各章节内容,特别是关于寄存器配置、时序要求等方面的具体说明。对于初次接触此类技术的开发者而言,建议先熟悉基本概念再逐步掌握高级功能的应用方法。

149

社区成员

发帖
与我相关
我的任务
社区描述
湖南大学《软件需求工程》课程教学、学习、交流社区。
需求分析规格说明书软件工程 高校 湖南省·长沙市
社区管理员
  • 老辣椒
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

软件需求工程课程教学与学习交流社区

试试用AI创作助手写篇文章吧