学习如何编写延迟关键,快速C++/Java/C#代码的最佳方法?

Tom*_*Tom 7 c# c++ java low-latency

谁能给我一些关于学习如何进行极低延迟编程的最佳方法的指示?我有很多编程书籍,但我从来没有见过一个专注于(或帮助)编写极快代码的书籍.或者书籍不是最好的前进方式?

非常感谢专家的一些建议!

编辑:我想我更多地指CPU /内存绑定.

Joh*_*ing 9

[C++程序员]:

超低延迟编程很难.比起人们第一次开始走路时所怀疑的要困难得多.你可以采用一些技巧和"技巧".与IO完成端口,多核利用率,高度优化的同步技术,共享内存一样.这份清单永远存在.(编辑)它不像"code-profile-refactor-repeat"那么简单,因为你可以编写出强大而快速的优秀代码,但永远不会是真正的超低延迟代码.

不幸的是,我所知道的没有一种资源可以告诉你它是如何完成的.专注于(并且擅长)超低延迟代码的程序员是业内最好的,也是最有经验的代码.并有充分的理由.因为如果有一个银弹解决方案可以成为一个优秀的低延迟程序员,那就是这样:你必须了解很多东西.而且这种知识并不容易.这需要数年(数十年?)的经验和不断的学习.

就研究本身而言,这里有一些我发现有用或特别有洞察力的书籍:


Zac*_*son 4

我的建议是学习C++/Java/C# 的工作原理,并大致了解它如何转换为机器级指令。有些手术比其他手术更昂贵。高级语言中的一小段代码会翻译成一大堆机器指令(通常比您想象的要多。)

另外,一定要了解各种数据结构、它们的用途以及它们针对不同问题规模的性能特征。为问题选择正确的数据结构可以极大地提高执行速度。