`
arust
  • 浏览: 95361 次
  • 性别: Icon_minigender_1
  • 来自: 海底
社区版块
存档分类
最新评论

Unix-Center 机器速度

阅读更多

最近无聊的很,突然心血来潮想测试一下 Unix 体验中心几台机器的运行速度。测试方式很简单,就是我在幼儿园深造期间,大人们用来衡量我们这些小屁孩智力程度的办法——数数,不过现在要让 CPU 来数数,看看从 0 数到 2^30 - 1 要多长时间


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/time.h>

int
main()
{
	int		i;
	unsigned char	hash_128bit[16];
	unsigned char  *ptrhash = hash_128bit;
	struct timeval	tpstart, tpend;
	float		timeuse;
	gettimeofday(&tpstart, NULL);
	memset(ptrhash, '\0', 16);
	/*
	 *如果循环终止条件改成 hash_128bit[16] ^ 0xFF,
	 *从测试数 1G 个数的时间来看,以现有的计算机速度,
	 *估计到宇宙毁灭时,循环也不会结束,可见暴力破解 MD5 是不可行的^^
	 */
	while (hash_128bit[3] ^ 0x3F) {
		i = 0;
		while (i < 16) {
			hash_128bit[i] += 1;
			if (hash_128bit[i] != 0) {
				break;
			} else {
				i++;
			}
		}
		/*printf("%d,", hash_128bit[i]);*/
	}
	gettimeofday(&tpend, NULL);
	timeuse = 1000000 * (tpend.tv_sec - tpstart.tv_sec)
	    + tpend.tv_usec - tpstart.tv_usec;
	printf("%fS\n", timeuse / 1000000);
	return 0;
}



最终测试结果出人意料,这些 CPU 数数的速度还不如我自己的虚拟机快。这是怎么一回事呢?尤其是 X4100 这台机器,使用2 颗双核单线程的AMD Opteron 280芯片,CPU 主频为2.4 GHz,居然要 10s 才能数完 1G 个数,比我的虚拟机多一倍的时间。费解……
分享到:
评论
2 楼 arust 2009-02-01  
marlonyao 写道

unix-center机器的压力远比单机的压力要大得多,你想它有多少个用户,每个都要耗费一定的CPU资源。你可以在深夜2点再试试


多谢指教,哪天晚上不睡觉的话我再试试。
另外,我发现运行 FreeBSD 的机器比其他机器明显要快很多
1 楼 marlonyao 2009-01-19  
unix-center机器的压力远比单机的压力要大得多,你想它有多少个用户,每个都要耗费一定的CPU资源。你可以在深夜2点再试试

相关推荐

Global site tag (gtag.js) - Google Analytics