公司報廢筆記本dell E4300,Ubuntu 13.04系統
mutex 加鎖和解鎖性能測試:
(加鎖和解鎖)過程,一億次,共耗時:3883693微妙平均時間 (3888524 * 1000/100000000 = 38.88納秒)
在我的臺式機: AMD 1100T 6核心處理器,而且是VMware 虛擬機上:
gongbo@gongbo-virtual-machine:~$ ./mutex1.o
1762201
1762201
平均時間 (1762201 * 1000/100000000 = 17.62 納秒)
公司生產環境的標準硬件上:
[admin@oceanbase074013 tmp]$ ./mutex1.o
2417836
// test
struct timeval dwStart;
struct timeval dwEnd;
unsigned long dwTime1=0;
unsigned long dwTime2=0;
int main(void)
{
struct foo *fp;
fp = foo_alloc();
gettimeofday(&dwStart,NULL);
for(int i=0;i< 100000000;i++)
{
pthread_mutex_lock(&fp->f_lock);
pthread_mutex_unlock(&fp->f_lock);
}
gettimeofday(&dwEnd,NULL);
dwTime1 = 1000000*(dwEnd.tv_sec-dwStart.tv_sec)+(dwEnd.tv_usec -dwStart.tv_usec);
gettimeofday(&dwStart,NULL);
for(int i=0;i< 100000000;i++)
{
;
}
gettimeofday(&dwEnd,NULL);
dwTime2 = 1000000*(dwEnd.tv_sec-dwStart.tv_sec)+(dwEnd.tv_usec -dwStart.tv_usec);
printf("%ld\n",dwTime1 - dwTime2);
return 0;
}