【发布时间】:2012-03-15 14:09:57
【问题描述】:
我不确定下面的代码有多快。如果有人知道比这更快/优化的代码,请告诉我。
int xstrcmp(char *s1, char *s2)
{
while (*s1 == *s2++)
if (*s1++ == 0)
return (0);
return (*(const unsigned char *)s1 - *(const unsigned char *)(s2-1));
}
【问题讨论】:
-
您要比较的字符串有多大?他们来自哪里?
-
这是一道作业题吗?如果不使用供应商提供的那个。他们可能有更多可以利用处理器/编译器特性的技巧
-
如何查到厂商给的code??
-
你的函数签名错误:参数应该是
char const*。 -
我想知道是否有人将蒙特卡洛算法 (en.wikipedia.org/wiki/Monte_Carlo_algorithm) 与解决此问题的常用方法进行了比较?
标签: c++ string performance