当前位置:  开发笔记 > 人工智能 > 正文

为什么我的C代码运行缓慢?

如何解决《为什么我的C代码运行缓慢?》经验,为你挑选了1个好方法。

我在C中编写了一些代码,我惊讶地发现它执行的时间比我预期的要长.我想知道哪些操作成本高昂以及如何摆脱它们.

我使用赋值语句,条件(嵌套),循环,函数调用和回调.

对常见的C性能缺陷有什么好的参考?

我可以使用一个好的剖析器吗?


谢谢你们

感谢您的所有投入.你是绝对正确的:它的算法可以减慢事情(大幅度).虽然通过编码实践可以获得一点性能提升 - 我100%确信只有错误的算法才能大大减慢速度.

事实上:我正在研究RB树并按升序插入节点.花了很多时间(和Binary Search Tree(Skewed)一样糟糕).在寻求你的建议后,我检查了算法,我在平衡方面犯了一个错误,使树倾斜(倾斜).我纠正了.

再次感谢您的建议.



1> Ori Pessach..:

您的性能问题可能与您实施的算法有关,而与您使用的操作有关.

发布代码可能很有用.告诉我们你正在尝试做什么,以及你正在使用什么算法也会有所帮助.事实上,您的问题并没有为任何人提供足够的信息来为您提供有用的答案.

其他人推荐gprof - 我是第二个,如果你有兴趣分析你的代码.我之前也使用过VTune,并且喜欢它.但首先要确保您理解您的代码及其功能,并且在处理您希望它处理的数据大小时,您实现的算法是时间有效的.

顺便说一句,使用C并不意味着您的代码会自动运行得更快.通常,I/O绑定代码看不到性能改进.UI重代码可能无法从使用低级语言中受益.通常,C是一种更好的实现语言,您需要低级访问,与硬件或低级操作系统服务连接,或者如果您有非常具体和严格的性能要求,这些要求很难在高级别,垃圾收集语言中满足.或者如果您碰巧喜欢C,但这显然是一个主观问题.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有