在线现看午夜福利片|女人16久久免费视频|鲁丝片一区鲁丝片二区鲁丝|一区二区三区欧美在线

  1. 
    
    <b id="glvx9"></b>
        1. <blockquote id="glvx9"><meter id="glvx9"></meter></blockquote>
            首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 繽紛校園 英語學(xué)習(xí)
            2010考研 | 自學(xué)考試 | 成人高考 | 專 升 本 | 法律碩士 | MBA/MPA | 中 科 院
            四六級 | 商務(wù)英語 | 公共英語 | 職稱日語 | 職稱英語 | 博思 | 口譯筆譯 | GRE GMAT | 日語 | 托福
            雅思 | 專四專八 | 新概念 | 自考英語 | 零起點(diǎn)英、韓語 | 在職申碩英語
            在職攻碩英語 | 成人英語三級
            等級考試 | 水平考試 | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
            公務(wù)員 | 報(bào)關(guān)員 | 報(bào)檢員 | 外銷員 | 司法考試 | 導(dǎo)游考試 | 教師資格 | 國際商務(wù)師 | 跟單員
            單證員 | 物流師 | 價(jià)格鑒證師 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 人力資源管理師 | 管理咨詢師
            期貨從業(yè)資格 | 社會工作者
            會計(jì)職稱 | 注會CPA | 經(jīng)濟(jì)師 | 統(tǒng)計(jì)師 | 注冊稅務(wù)師 | 評估師 | 精算師 | 高會 | ACCA | 審計(jì)師
            法律顧問 | 會計(jì)證
            一級建造師 | 二級建造師 | 造價(jià)師 | 監(jiān)理師 | 安全師 | 咨詢師 | 結(jié)構(gòu)師 | 建筑師 | 安全評價(jià)師
            房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 設(shè)備監(jiān)理師 | 巖土工程師 | 質(zhì)量資格 | 房地產(chǎn)經(jīng)紀(jì)人 | 造價(jià)員
            投資項(xiàng)目管理 | 土地代理人 | 環(huán)保師 | 環(huán)境影響評價(jià) | 物業(yè)管理師 | 城市規(guī)劃師 | 公路監(jiān)理師
            公路造價(jià)工程師 | 招標(biāo)師
            執(zhí)業(yè)護(hù)士 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 衛(wèi)生資格
            您現(xiàn)在的位置: 考試吧(Exam8.com) > 軟件水平考試 > 系統(tǒng)分析師 > 正文

            計(jì)算機(jī)軟件水平考試:C++Q&A:性能優(yōu)化

            分配大量小型類對象(如:10,000小型記錄)最快和最佳方法是什么? 當(dāng)然,MFC 序列流化對象可以完成所需的任務(wù)。但是,內(nèi)存的分配和銷毀相當(dāng)耗時(shí)。有沒有辦法對此進(jìn)行改進(jìn)?
              我無法告訴你最好的方法,因?yàn)槟侨Q與應(yīng)用程序的具體情況和其使用方式。性能和內(nèi)存分配是如此巨大的一個(gè)主題,有關(guān)它們已經(jīng)有很多很多書籍。沒有哪一種方案適合所有的情形。最優(yōu)化總是需要在速度和其它資源之間進(jìn)行明智的權(quán)衡。例如,如果你愿意建立巨型索引,那么就會獲得非?斓牟樵兯俣。或者要想顯示速度快,那么就得以加載時(shí)間作為代價(jià)。因此,我只能就某些需要考慮的問題給你提供一個(gè)概述,以及提供一些工具和途徑以幫助你自己找到答案。
              如果你覺得程序的性能不太滿意,首先必須確定瓶頸在哪,對此要有清醒的認(rèn)識。你可以借助復(fù)雜的工具(profiler)來產(chǎn)生各種有關(guān)性能的報(bào)告,但如果只是想知道你的代碼在哪里耗時(shí),那么用一些自己編寫的簡單工具即可,我寫了一個(gè)類叫 ShowTime,它可以報(bào)告代碼的某些部分執(zhí)行時(shí)要花費(fèi)多長時(shí)間。為了使用它,你只需在要用時(shí)鐘的代碼塊起始處實(shí)例化一個(gè) ShowTime 堆棧對象即可:
            void CalculatePi(){    ShowTime st("Calculating pi");   // do it}
            這段代碼將產(chǎn)生一個(gè)象下面這樣的 TRACE 信息:
            Calculating pi: 342 msec
              ShowTime 是如何工作的呢?它為智能指針以及在代碼塊起始處和末尾處你想做某些自動處理的地方使用常見的 C++ 構(gòu)造函數(shù)/析構(gòu)函數(shù)(ctor/dtor)模式。ShowTime 的構(gòu)造函數(shù)將時(shí)鐘時(shí)間(自從進(jìn)程啟動后的時(shí)鐘嘀嗒數(shù))保存在某個(gè)數(shù)據(jù)成員中;析構(gòu)函數(shù)則用從最后的時(shí)鐘數(shù)中減去這個(gè)時(shí)鐘數(shù)并產(chǎn)生一條信息。由于構(gòu)造函數(shù)/析構(gòu)函數(shù)是在代碼塊的起始處/末尾處調(diào)用的,這樣便測算出總共用了多少時(shí)間。代碼如 Figure 1 所示。
              ShowTime 并不太復(fù)雜。比如,它并不考慮多線程的情況,并且也不報(bào)告在每個(gè)函數(shù)中某個(gè)工具消耗了多少時(shí)間。但是對于日常使用來說,它能給你提供應(yīng)用程序在何處耗時(shí)的很好的參考。不要忘記針對 Release 版本進(jìn)行性能測試!畢竟那是你交付使用的版本。此外,Release 和 Debug 版本之間的差別可能會曲解你的結(jié)果。例如,依賴你的設(shè)置方式,debug 版本也許要進(jìn)行額外的堆棧,這樣便使應(yīng)用程序性能下降。由于在 Release 版本中沒有 TRACE 信息,所以我添加了另外一個(gè)類,PerfLog,它可以將性能統(tǒng)計(jì)定向到一個(gè)文件:
            // open log filePerfLog mylog("MyResults.log");

            轉(zhuǎn)帖于:軟件水平考試_考試吧
            文章搜索
            計(jì)算機(jī)軟件水平考試:C++Q&A:性能優(yōu)化網(wǎng)友評論網(wǎng)友評論
            版權(quán)聲明 --------------------------------------------------------------------------------------
                如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系,我們將會及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。
             gaoxiaoliang