c89
gcc (GCC) 4.7.2
您好,
我正在查看一些字符串函数,因为我需要在句子中搜索不同的单词。
我只是想知道c标准功能是否已经完全优化。
例如这些功能:
memchr
,strstr
,strspn
,strchr
等
就高性能而言,这就是我所需要的。还有什么更好的吗?
此致
答案 0 :(得分:3)
您几乎肯定会发现标准库函数已尽可能优化,并且它们可能会超出您在C中编写代码的任何内容。
请注意,这是针对一般情况的。如果您有一些限制,您可以使用这些功能,或者您对数据本身提供的一些额外信息,您可以使代码运行得更快,因为您具有该限制或信息的优势
例如,我编写了malloc
的C代码,它驱逐了库提供的malloc
,因为我知道应用程序永远不会要求超过256个字节所以我只给了256个字节每一个要求。是的,这是对内存的浪费,但它允许速度改进超出一般情况。
但是,对于一般情况,你最好坚持使用提供的东西。
答案 1 :(得分:3)
完全优化?针对什么进行了优化?
是的,stdlib的C函数写得非常有效并经过多年的测试/调试,所以你绝对不应该担心它们中的大多数。
答案 2 :(得分:1)
假设您始终将数据与16字节边界对齐并且每次大约16字节额外分配,那么绝对可以加速大多数stdlib例程。
但假设例如。 strlen事先不知道,或者只读一个字节过多会导致分段错误,我不会打扰。