lua5.4和c大概得性能差别

测试的覆盖比较单一, 仅供参考

测试代码:

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


版权声明:本文为yao_zhuang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。