gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 05:22:01 24 4
gpt4 key购买 nike

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

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

常见的 C 性能陷阱有哪些好的引用资料?

有没有我可以使用的好的分析器?


谢谢大家

感谢您的所有投入。你是绝对正确的:算法可以(大大地)减慢速度。尽管通过编码实践可以获得一点性能提升 - 我 100% 相信只有错误的算法才能大大降低速度

事实上:我正在研究 RB 树并按升序插入节点。这花费了大量时间(与 Binary Search Tree (Skewed) 一样糟糕)。在寻求你的建议后,我检查了算法,我在平衡中犯了一个错误,导致树倾斜(倾斜)。我更正了它。

再次感谢您的建议。

最佳答案

您的性能问题可能更多地与您实现的算法有关,而不是与您使用的操作有关。

发布代码可能会有用。告诉我们您正在尝试做什么以及您正在使用什么算法也会有所帮助。实际上,您的问题所提供的信息不足以让任何人为您提供有用的答案。

其他人推荐 gprof - 如果您有兴趣分析您的代码,我同意。我以前也用过 VTune,并且喜欢它。但首先要确保您了解您的代码及其作用,并且您正在实现的算法在处理您希望它处理的数据量时是高效的。

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

关于c - 为什么我的 C 代码运行缓慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/566014/

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