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

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>
            久久久久久一区二区三区| 久久国产精品久久久久久| 欧美日韩一区二区在线视频| 欧美岛国激情| 欧美日韩一区在线观看视频| 国产精品久久久久7777婷婷| 国产麻豆9l精品三级站| 国产永久精品大片wwwapp| 在线播放一区| 一本久道久久综合婷婷鲸鱼| 亚洲一区二区三区在线播放| 欧美亚洲网站| 欧美国产精品劲爆| 日韩一区二区福利| 久久久久**毛片大全| 欧美成人伊人久久综合网| 国产精品久99| 亚洲欧洲午夜| 久久精品一区二区三区四区| 亚洲激情视频网站| 亚洲视频免费在线| 久久精品国语| 玖玖国产精品视频| 午夜一区二区三区在线观看| 午夜视频精品| 欧美va天堂在线| 国产精品私房写真福利视频| 狠狠色丁香婷婷综合| 一区二区欧美精品| 久久国产精品一区二区| 亚洲国产综合91精品麻豆| 亚洲在线观看免费| 欧美看片网站| 亚洲国产精品va| 欧美一区二区女人| 一区二区国产精品| 欧美成人精精品一区二区频| 国产欧美欧洲在线观看| 在线亚洲国产精品网站| 欧美 日韩 国产精品免费观看| 亚洲视频一区在线观看| 免费不卡在线观看| 永久免费视频成人| 久久精品毛片| 欧美一区二区三区电影在线观看| 欧美日韩美女| 99视频精品| 亚洲啪啪91| 欧美国产日本高清在线| 亚洲国产精品久久久| 麻豆91精品| 久久婷婷久久| 亚洲高清网站| 亚洲电影在线看| 欧美福利视频网站| 亚洲精选视频免费看| 亚洲丰满在线| 欧美日韩国产91| 亚洲一级片在线观看| 亚洲欧洲久久| 欧美日韩少妇| 翔田千里一区二区| 亚洲欧美日本伦理| 国内伊人久久久久久网站视频| 久久精品国产免费看久久精品| 亚洲欧美一区二区原创| 国产亚洲欧美日韩在线一区| 久久久久久欧美| 六月婷婷久久| 一区二区三欧美| 亚洲午夜免费视频| 国产一区二区久久| 欧美成人综合网站| 欧美久久久久免费| 午夜精品在线看| 久久久久久九九九九| 亚洲欧洲日夜超级视频| 一本久道久久综合中文字幕| 国产日韩av一区二区| 免费观看日韩| 性欧美xxxx视频在线观看| 午夜一区在线| 久久精品91| 亚洲免费电影在线| 亚洲网友自拍| 在线观看国产精品淫| 亚洲激情偷拍| 国产拍揄自揄精品视频麻豆| 猛男gaygay欧美视频| 欧美女同在线视频| 久久精品国产精品 | 国产精品久久久久久久久久ktv| 亚洲欧美另类国产| 久久亚洲国产精品日日av夜夜| 亚洲另类自拍| 欧美资源在线| 亚洲视频一区二区免费在线观看| 欧美亚洲三区| 中文在线资源观看视频网站免费不卡| 亚洲欧美日韩成人| 亚洲精品在线三区| 久久动漫亚洲| 在线亚洲精品| 可以看av的网站久久看| 亚洲欧美另类国产| 欧美日本不卡| 免费欧美电影| 国产精品视频九色porn| 亚洲激情在线观看| 在线日韩中文| 欧美在线观看一二区| 亚洲欧美日韩一区二区三区在线观看 | 欧美激情一区二区三区在线视频| 亚洲欧美综合v| 欧美成人免费网| 久久野战av| 国产欧美一区二区三区沐欲 | 欧美在线视频a| 午夜精品久久久久久久久| 欧美精品国产精品| 免费在线观看一区二区| 国产欧美视频一区二区| 一区二区三区四区蜜桃| 亚洲精品久久视频| 久热精品在线| 欧美aⅴ一区二区三区视频| 国产精品久久久久9999吃药| 亚洲国产精品久久久久婷婷884| 永久免费精品影视网站| 久久精品成人欧美大片古装| 午夜精品影院| 国产欧美一区二区三区久久 | 99国产精品自拍| 一区二区三区日韩精品视频| 亚洲视频一区二区在线观看| 久久久久久久国产| 亚洲视频一区二区| 欧美日韩午夜激情| 亚洲日韩欧美视频| 亚洲人成网站777色婷婷| 久久九九久久九九| 久久深夜福利免费观看| 黄色亚洲精品| 久久天堂成人| 亚洲国产婷婷| 亚洲色图综合久久| 国产精品mv在线观看| 亚洲香蕉成视频在线观看 | 精品成人免费| 牛夜精品久久久久久久99黑人 | 欧美中文字幕第一页| 国产一区二区电影在线观看| 久久av一区二区三区| 免费黄网站欧美| 日韩视频久久| 国产精品入口福利| 久久久xxx| 亚洲精品日日夜夜| 欧美一区二区成人| 在线观看中文字幕不卡| 欧美国产成人在线| 亚洲一级二级| 免费成人黄色片| 在线视频中文亚洲| 国产一区二区欧美| 欧美精品一区二区精品网 | 亚洲欧美日韩综合aⅴ视频| 久久久精品性| 日韩一级在线| 狠狠色丁香婷婷综合久久片| 欧美黄色日本| 欧美一级久久久久久久大片| 欧美.www| 欧美一级播放| 亚洲人成啪啪网站| 国产毛片久久| 欧美黄色网络| 久久久久久综合网天天| 一区二区三区四区国产| 免费亚洲电影| 久久精品视频免费观看| 中国女人久久久| 亚洲国产激情| 国产午夜精品久久久久久久| 欧美日韩成人综合在线一区二区| 欧美在线免费视屏| 亚洲私拍自拍| 日韩亚洲欧美一区二区三区| 美女视频一区免费观看| 欧美亚洲免费高清在线观看| 99视频精品| 亚洲欧洲中文日韩久久av乱码| 国产美女一区| 国产精品极品美女粉嫩高清在线| 欧美成人性网| 久久亚洲综合色| 欧美在线观看网址综合| 亚洲尤物在线| 在线亚洲激情| 在线一区二区日韩|