c标准功能完全优化

时间:2012-11-15 07:57:18

标签: c optimization

c89
gcc (GCC) 4.7.2

您好,

我正在查看一些字符串函数,因为我需要在句子中搜索不同的单词。

我只是想知道c标准功能是否已经完全优化。

例如这些功能: memchrstrstrstrspnstrchr

就高性能而言,这就是我所需要的。还有什么更好的吗?

此致

3 个答案:

答案 0 :(得分:3)

您几乎肯定会发现标准库函数已尽可能优化,并且它们可能会超出您在C中编写代码的任何内容。

请注意,这是针对一般情况的。如果您有一些限制,您可以使用这些功能,或者您对数据本身提供的一些额外信息,您可以使代码运行得更快,因为您具有该限制或信息的优势

例如,我编写了malloc的C代码,它驱逐了库提供的malloc,因为我知道应用程序永远不会要求超过256个字节所以我只给了256个字节每一个要求。是的,这是对内存的浪费,但它允许速度改进超出一般情况。

但是,对于一般情况,你最好坚持使用提供的东西。

答案 1 :(得分:3)

完全优化?针对什么进行了优化?

是的,stdlib的C函数写得非常有效并经过多年的测试/调试,所以你绝对不应该担心它们中的大多数。

答案 2 :(得分:1)

假设您始终将数据与16字节边界对齐并且每次大约16字节额外分配,那么绝对可以加速大多数stdlib例程。

但假设例如。 strlen事先不知道,或者只读一个字节过多会导致分段错误,我不会打扰。