青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

LINGSUIYU'S BLOG

C++博客 聯系 聚合 管理
  2 Posts :: 0 Stories :: 10 Comments :: 0 Trackbacks

        在Efficient C++的第二章,講述了關于繼承和構造(析構)函數造成的計算開銷,仍然有些糊涂。對與以下三段關于互斥鎖使用的代碼(來自Efficient c++):

// Version 1
int main()
{
    
    
// Start timing here
    for(i=0; i<1000000; i++)
    
{
        pthread_mutex_lock(
&mutex);
        shareCounter
++;
        pthread_mutex_unlock(
&mutex);
    }

    
// Stop timing here
    
}

 

// Version 2
int main()
{
    
    
// Start timing here
    for(i=0; i<1000000; i++)
    
{
        SimpleMutex m(mutex);
        sharedCounter
++;
    }

    
// Stop timing here
    
}


class SimpleMutex
{
public:
    SimpleMutex(pthread_mutex_t 
& lock):myLock(lock){acquire();}
    
~SimpleMutex{release();}

private:
    
int acquire(){return pthread_mutex_lock(&myLock);}
    
int release(){return pthread_mutex_unlock(&myLock);}
    pthread_mutex_t 
& myLock;
}
;

// Version 3
int main()
{
    
    
// Start timing here
    for(i=0; i<1000000; i++)
    
{
        DerivedMutex m(mutex);
        sharedCounter
++;
    }

    
// Stop timing here
    
}


class BaseMutex
{
public:
    BaseMutex(pthread_mutex_t 
& lock){};
    Virtual 
~BaseMutex(){};
}
;

class DerivedMutex:public BaseMutex
{
public:
    DerivedMutex(pthread_mutex_t 
&lock):BaseMutex(lock),myLock(lock){acquire();}
    
~DerivedMutex(){release();}

private:
    
int acquire(){return pthread_mutex_lock(&myLock);}
    
int release(){return pthread_mutex_unlock(&myLock);}
    pthread_mutex_t 
& myLock;
}
;

書中測得的結果是Version 1和 Version 2 耗時相同,為1.01s,而Version 3 耗時1.63秒,這說明前兩個版本計算開銷相同而第三個版本計算開銷明顯增加。
        而書中也說了Version 2 的構造函數中,初始化myLock成員是計算損失,當acquire()內聯不成功的時候,調用acquire()也是計算損失。
        再看Version 3,它首先調用基類的構造函數,由于是內聯的,而且函數體為空,其開銷應該忽略不計,然后是初始化myLock,調用acquire(),這些都跟Version 2中一樣。
        這樣看起來反倒是Version 2 和  Version 3 的計算花費應該相同了,而Version 1的計算花費要比它們少。而書上好像沒有對這個問題作出解釋。我不知道是什么地方理解錯誤了,所以先懸著,等找到答案再把它寫完。或者如有看到此文而不吝賜教的,不勝感激!
posted on 2008-08-21 10:09 零碎雨 閱讀(670) 評論(3)  編輯 收藏 引用

Feedback

# re: 關于c++繼承帶來的開銷的疑惑 2008-08-22 00:38 theanswerzju
基類的構造函數明顯不是空的呀 有虛析構函數的 至少還得在構造函數中設置vtable,vptr的呀  回復  更多評論
  

# re: 關于c++繼承帶來的開銷的疑惑 2008-08-22 08:58 零碎雨
@theanswerzju
哦,是的,剛剛學到vtable和vptr,對c++類的內部實現還不是很了解,謝謝您的指出!我仍然有一個疑問,覺得至少Version 2 會比Version 1開銷大一點,因為多了初始化myLock成員,但書上說兩者是一樣的,是不是這個開銷不大可以忽略?  回復  更多評論
  

# re: 關于c++繼承帶來的開銷的疑惑 2008-08-22 17:00 theanswerzju
@零碎雨
你可以對比一下兩者的匯編結果
記得把inline設為允許,VC默認Debug下是關掉的
  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精自产拍久久久久久| 香蕉成人伊视频在线观看| 亚洲美女色禁图| 91久久夜色精品国产网站| **欧美日韩vr在线| 在线精品视频一区二区三四| 国内成+人亚洲+欧美+综合在线| 国产一级久久| 亚洲国产精品va| 一区二区三区视频在线观看| 亚洲一区二区三区在线视频| 西瓜成人精品人成网站| 久久久久久久久岛国免费| 美女爽到呻吟久久久久| 欧美高清视频一区二区| 亚洲精品乱码久久久久久黑人| 亚洲国产精品小视频| 亚洲最新视频在线播放| 99热精品在线观看| 亚洲欧美日韩在线观看a三区| 亚洲欧美中文在线视频| 美女精品视频一区| 欧美午夜精品一区| 在线精品亚洲一区二区| 亚洲一区久久| 另类av导航| 亚洲视频欧美视频| 欧美成人日韩| 狠狠久久五月精品中文字幕| 一区二区三区视频在线看| 久久青草福利网站| 99精品欧美一区| 久久伊人亚洲| 国产精品一级| 在线中文字幕一区| 欧美国产三区| 欧美在线一区二区| 国产精品福利片| 99综合在线| 亚洲国产成人在线视频| 久久成人国产| 国产日韩欧美不卡在线| 亚洲视频一区二区免费在线观看| 免费在线观看成人av| 欧美亚洲视频在线看网址| 国产精品国产精品国产专区不蜜| 日韩视频在线观看免费| 欧美激情第五页| 久久久精品日韩欧美| 国产三区精品| 欧美中文字幕在线视频| 一区二区欧美在线观看| 欧美不卡一卡二卡免费版| 在线观看不卡| 噜噜噜噜噜久久久久久91 | 一区二区三区在线看| 亚洲一区免费视频| 亚洲另类在线视频| 欧美激情亚洲激情| 亚洲激情第一页| 欧美成人午夜剧场免费观看| 久久久精品动漫| 狠狠色丁香婷婷综合久久片| 久久成人18免费观看| 亚洲欧美日韩一区在线| 国产日韩精品一区二区| 久久精品国产清自在天天线| 香蕉久久夜色精品国产| 黄色小说综合网站| 欧美激情亚洲自拍| 欧美日韩系列| 午夜天堂精品久久久久| 欧美一区二区三区啪啪| 在线观看日韩专区| 国内自拍视频一区二区三区| 国产日韩视频| 欧美一级一区| 欧美一区二区三区四区夜夜大片| 国产丝袜一区二区| 欧美国产免费| 欧美午夜片在线观看| 亚洲欧美伊人| 久久久久久9| 99精品视频免费| 亚洲综合丁香| 亚洲国产精品一区二区第四页av| 亚洲国产网站| 国产精品日韩精品| 欧美高清在线视频观看不卡| 欧美日韩美女| 免费在线成人| 国产精品无码永久免费888| 裸体女人亚洲精品一区| 欧美日韩黄色大片| 久久综合久久久久88| 欧美日韩精品伦理作品在线免费观看| 亚洲欧美日韩精品久久亚洲区| 欧美影院午夜播放| 一本一本a久久| 久久久精品国产免大香伊| 一道本一区二区| 久久本道综合色狠狠五月| 99精品久久久| 欧美在线一区二区三区| 亚洲免费在线观看| 欧美精品v日韩精品v国产精品 | 欧美成人福利视频| 欧美一区二区三区免费在线看| 美女露胸一区二区三区| 欧美在线观看天堂一区二区三区| 欧美黑人多人双交| 久久躁日日躁aaaaxxxx| 国产精品制服诱惑| 99成人在线| 亚洲精品免费观看| 久久蜜桃资源一区二区老牛| 欧美一区在线直播| 欧美午夜精品久久久久久孕妇| 免费在线观看成人av| 国产麻豆精品视频| 亚洲视频一二区| 亚洲天堂网站在线观看视频| 免费观看日韩av| 免费中文日韩| 激情文学一区| 久久成人国产精品| 久久精品在这里| 国产欧美欧美| 亚洲欧美日韩一区二区在线 | 亚洲精品网址在线观看| 亚洲福利视频一区二区| 久久久www成人免费无遮挡大片 | 午夜一区二区三区不卡视频| 亚洲免费观看在线观看| 久久久久久久国产| 久久精品欧美日韩| 国产欧美日韩视频在线观看| 国产精品99久久久久久久久久久久 | 欧美日韩综合| av不卡在线观看| 亚洲一区成人| 国产精品理论片| 亚洲男同1069视频| 欧美一级大片在线观看| 国产偷久久久精品专区| 久久国产精品久久久久久久久久 | 另类尿喷潮videofree| 狠久久av成人天堂| 久久婷婷激情| 亚洲国产精品久久久久| 一本色道久久综合亚洲精品不卡 | 久久综合电影| 亚洲欧洲一区二区在线观看| 免费亚洲视频| 一道本一区二区| 久久精品中文| 亚洲精品资源| 国产精品私拍pans大尺度在线 | 亚洲精品久久久久久一区二区 | 国产精品剧情在线亚洲| 欧美在线观看网站| 亚洲国产精品精华液2区45| 亚洲午夜电影在线观看| 国产亚洲一区二区三区在线观看 | 欧美四级电影网站| 欧美一区日本一区韩国一区| 欧美成人嫩草网站| 一区二区欧美日韩| 国产在线拍揄自揄视频不卡99| 老司机亚洲精品| 99精品视频一区二区三区| 久久精品亚洲精品| 夜夜嗨av一区二区三区四区| 国产综合第一页| 欧美日韩理论| 久久精品一二三| 9人人澡人人爽人人精品| 美女91精品| 午夜亚洲精品| 久久影院午夜论| 久久欧美中文字幕| 日韩视频一区二区三区| 欧美自拍丝袜亚洲| 夜夜精品视频| 在线观看视频一区二区| 欧美理论电影网| 久久精品电影| 亚洲一区二区精品| 亚洲国产99| 久久久久欧美精品| 亚洲欧美日韩一区在线| 亚洲国产精品嫩草影院| 国产精品一区二区三区四区| 欧美韩国在线| 老鸭窝91久久精品色噜噜导演| 亚洲欧美美女| 亚洲摸下面视频| 亚洲一区二区三区777| 亚洲激情在线激情| 欧美高清视频|