gpt4 book ai didi

algorithm - 计算密集型算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:27:23 27 4
gpt4 key购买 nike

我打算编写一堆关于计算密集型算法的程序。这些程序将作为不同编译器/硬件性能的指标。

我想选择一些用于不同领域的通用算法集,例如生物信息学、游戏、图像处理等。我想这样做的原因是学习算法并拥有一个小型的个人迷你基准测试服 |有用 |易于维护。

有关算法选择的任何建议都将非常有帮助。

最佳答案

基准不值得你关注!

有关处理器性能的最佳指南是:http://www.agner.org/optimize/

然后有人会把它扔进一个有 3GB RAM 的盒子里,打败双 channel 的希望,而你精心调整的基准测试将再次给出截然不同的结果。

如果您有一段性能关键代码,并且您确定自己已经选择了获胜的算法,那么您可以使用通用基准来确定最佳编译器。您必须使用每个编译器实际编译您的特定代码段,并以此为基准。您获得的结果虽然对您有用,但不会外推给其他人。

恰当的例子:制作压缩软件(如 zip 和 7zip 以及 PPM 和上下文混合等高端软件)的人非常注意性能并对他们的程序进行基准测试。他们在 www.encode.ru 上闲逛

情况是这样的:对于开发相同基本算法的工程师 - 比如 LZ 或熵编码,如算术编码和霍夫曼 - 工程师们都发现非常不同的编译器更好。

也就是说,使用相同高级算法解决相同问题的两名工程师将各自对他们的实现进行基准测试,并得到推荐不同编译器的结果...

(我在竞赛编程中看到同样的事情反复出现,例如 Al Zimmermann's Programming Contests,这是一个同样注重性能的社区。)

(较新的 GCC 4.x 系列非常各方面都很好,但这只是我的数据点,其他人仍然喜欢 ICC)

(IO 相关任务的平台基准测试完全是另一回事;人们不了解 Linux、Windows 和 FreeBSD(以及其他系统)在压力下的表现有多么不同。还有基准测试——在相同的工作负载、相同的机器上,不同的机器或不同的核心数量 - 将提供非常普遍的信息。遗憾的是,没有足够的基准。)

关于algorithm - 计算密集型算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5374905/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com