首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >学习如何编写延迟关键、快速的C++/Java/C#代码的最佳方法?

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

Stack Overflow用户
提问于 2011-01-27 06:32:17
回答 3查看 12.1K关注 0票数 7

有没有人能给我一些建议,告诉我学习如何进行低延迟编程的最佳方法?我有很多编程书籍,但我从来没有看到过一本专注于(或帮助)编写极快代码的书。或者,书籍不是最好的前进道路吗?

如果能从专家那里得到一些建议,我们将不胜感激!

编辑:我想我更多地指的是CPU/内存限制。

EN

回答 3

Stack Overflow用户

发布于 2011-01-27 06:44:07

C++程序员

超低延迟编程很难。比人们第一次开始的时候想象的要难得多。你可以使用一些技巧和“窍门”。例如IO完成端口、多核利用率、高度优化的同步技术、共享内存。这份清单永远不会停止。(编辑)它不像“代码-概要-重构-重复”那么简单,因为你可以写出健壮和快速的优秀代码,但永远不会是真正的超低延迟代码。

不幸的是,据我所知,没有一种资源可以向你展示它是如何做到的。专门研究(并擅长)超低延迟代码的程序员是业内最优秀和最有经验的程序员之一。而且有很好的理由。因为如果要成为一名优秀的低延迟程序员,有一种灵丹妙药的解决方案,那就是:您必须对的所有内容都非常了解。而这方面的知识并不容易获得。这需要几年(几十年?)经验和不断的学习。

就研究本身而言,出于这样或那样的原因,我发现了一些有用或特别有洞察力的书:

ACM上的

票数 9
EN

Stack Overflow用户

发布于 2011-01-27 06:43:29

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

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

票数 4
EN

Stack Overflow用户

发布于 2011-01-27 06:43:47

从学习汇编开始。然后,如果您打算在Java或.NET中工作,请学习它们的解释字节码。一旦你走到了这一步,你就需要了解你正在使用的语言,以及你正在使用的编译器。沿着这条路走下去,您会学到一些知识,比如如何使用VC++和GCC的三元运算符(?:)创建临时值,而等价的if语句不会。

然后,大约10年后,您将能够编写非常好的低延迟代码。

不幸的是,没有快速学习这一点的方法。

关于C++的好书: Effective C++ More Effective C++ Exceptional C++

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4810835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档