测试的覆盖比较单一, 仅供参考
测试代码:
begin = os.clock();
str = "Hello! My name is Jack. What is your name?"
i = 0
while i <= 50000000 do
string.find(str,"Jack")
i=i+1;
end
print('The program use ', os.clock()-begin, 's');
使用luajit进行运行
The program use 0.058561 s
c++ 代码
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <math.h>
int main()
{
char str1[] = "Hello! My name is Jack. What is your name?";
char str2[] = "Jack";
clock_t begin, over;
int i = 0;
begin = clock();
while (i <= 50000000) {
strstr(str1,str2);
i++;
}
over = clock();
printf("The program use %f s \n", ((double)(over - begin)/CLOCKS_PER_SEC) );
return 0;
}
未编译优化
The program use 0.990640 s
O2 编译优化后的结果
The program use 0.000004 s