mutex加鎖和解鎖性能測試

mutex 性能測試:
公司報廢筆記本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;
}

發佈了8 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章