gpt4 book ai didi

c - 与字符串函数相关的代码优化

转载 作者:太空狗 更新时间:2023-10-29 17:26:51 26 4
gpt4 key购买 nike

在 C 语言中调用标准字符串操作相关函数之前,是否有可遵循的准则?

例如,在调用 strcmp 之前比较两个字符串的第一个字符(并检查它们是否相等)会提供多少优化?

C 中与字符串相关函数相关的开销有哪些类型,哪些机制有助于避免这些开销?

谢谢!

最佳答案

字符串函数供您使用。如果需要比较两个字符串,调用strcmp。不要担心微小的性能差异,反正这大多是想象出来的。让你的代码首先工作。

首先,要回答有关性能的任何问题,如果您问“多少优化会……”,答案是“配置文件!”没有人可以预测某事将运行多快。 C stdlib 的实现一直在不断改进,您尝试想出的任何优化技巧都可能会伤害它。

例如,我认为 GCC 在比较字符串时会使用向量化,因此您实际上一次要比较 4-8 个元素。你期待吗?进行单个字符比较实际上可能会减慢速度。

也就是说,典型的实现只是逐个字符地检查,因此您只是将一个比较移出循环,没有净 yield 。 (但如前所述,可能是净亏损!)

所以指南是:

Program now, optimize later.

并优化理性的方式:通过证据和测试,而不是猜测。

关于c - 与字符串函数相关的代码优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1976038/

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