• <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>

            Jarod 的學習筆記

            統計

            留言簿(1)

            閱讀排行榜

            評論排行榜

            又是未完成的東西

            原本打算給實驗室的朋友們介紹一下我最新的研究結果,如何高效地實現矩陣運算。結果今晚的學長打擊了我,他們編程不多。我說的這些,他們能聽懂我已經做好的PPT的一半就不錯了。還沒完成的部分由于有范型的東西,估計他們就完全不明白了。編程語言也講個基礎的,C++非一日兩日就能熟悉的。唉。嘆惜我研究半天的東西沒有人懂啊~還好,放在我的blog里,與更多的朋友共享吧。

            以下PPT講述了一般情況下,編寫矩陣運算遇到的問題,特別是性能問題。主要舉例說明了實現加法運算會產生的問題,如以下的代碼,實際上是非常影響性能的。詳細的請看PPT。

            Matrix?operator? + ?( const ?Matrix? & ?a,? const ?Matrix? & ?b)? {
            ???
            int ?M? = ?a.getM(),?N? = ?a.getN();
            ???Matrix?result(M,N);
            ???
            for ?( int ?i = 0 ;i < M;i ++ )? {
            ??????
            for ?( int ?j = 0 ;j < N;j ++ )? {
            ??????????result(i,j)?
            = ?A(i,j)? + ?B(i,j);
            ??????}

            ???}

            ???
            return ?result;
            }



            矩陣運算PPT

            posted on 2007-03-27 00:14 Jarod-Yin 閱讀(958) 評論(13)  編輯 收藏 引用

            評論

            # re: 又是未完成的東西 2007-03-27 08:45 萬連文

            你不介紹一下功能 解決問題,誰知道是那方面。  回復  更多評論   

            # re: 又是未完成的東西 2007-03-27 09:47 Rocky

            如果要講究效率的話,還是用你所說的原始的方法,然后把整個算法封裝起來的好。如果打算用C++,從出發點上就是要放棄一定的效率的,還是用運算符重載增加可讀性比較好一點。建議去讀一讀STL、boost等類庫源代碼,學習一下如何既照顧效率,又照顧封裝之后的可用性。  回復  更多評論   

            # re: 又是未完成的東西[未登錄] 2007-03-27 09:58 炙熱的太陽

            太過于古板,你給他們講個故事,做個例子,生動一點,肯定有人會聽得  回復  更多評論   

            # re: 又是未完成的東西 2007-03-27 10:34 王一偉

            hehe 不錯,可以做一些測試  回復  更多評論   

            # re: 又是未完成的東西 2007-03-27 10:35 沐楓_

            怎么只有個開頭。  回復  更多評論   

            # re: 又是未完成的東西 2007-03-27 10:37 沐楓_

            再說了,上面的代碼未必很影響性能,如果編譯器好的話。  回復  更多評論   

            # re: 又是未完成的東西 2007-03-27 12:15 chenger

            還是原始的辦法好
            搞科學計算的,就不要太講究什么封裝,用類都顯得多余
            其實更重要的問題可能是比較底層的,比如緩存命中等等。至于用模板技術,已經有bliz++(是不是叫這個名?)等庫在先,不如去研究研究。其實如果用模板,可讀性更差,除非對template了解很深入,否則幾乎看不懂  回復  更多評論   

            # re: 又是未完成的東西 2007-03-27 12:59 Jarod-Yin

            謝謝各位的關注。
            萬連文:根據你的建議,我多寫了一些說明
            rockey:解決方法當然也是用了重載。
            王一偉 :我確實做過反匯編了
            沐楓_ :我不知道什么編譯器會做這些優化,你能否介紹一下?
            chenger:就是bliz,我就是學習bliz得到的結果  回復  更多評論   

            # re: 又是未完成的東西[未登錄] 2007-03-27 13:46 cc

            [url=http://guises.eguo.com/user1/uutv8806/archives/2007/26.html]Jewelry Wholesale[/url]  回復  更多評論   

            # re: 又是未完成的東西[未登錄] 2007-03-27 13:46 cc

            <a href=http://www.chengan.cn/my/vip/422/archives/2007/743.html>Jewelry Wholesale</a>  回復  更多評論   

            # re: 又是未完成的東西[未登錄] 2007-03-27 13:46 cc

            wholesale jewelry jewelry jewelry Making Handcrafted jewelry
            wholesale silver jewelry
            Jewelry Wholesa, China Jewelry Wholesale, pearl jewelry wholesale, wholesale pearl jewelry,
            pearl jewelry
              回復  更多評論   

            # re: 又是未完成的東西 2007-03-29 14:01 skipper

            more effective c++里已經提出了lazy evaluation的思想。作者沒有解決怎么實現的問題。

            而且看到作者ppt里的代碼,效率好像并不是很高啊。  回復  更多評論   

            # re: 又是未完成的東西 2007-09-15 22:49 螞蟻終結者

            看了一下ppt的代碼,如skipper所說,效率并不高,先不說lazy evaluation。看看Metrix本身的設計:

            copy construct 其實沒必要2層循環,也沒必要用operator()來存取元素:
            這樣寫效率肯定不一樣
            Metrix::Metrix(const Metrix& a) {
            M = a.M;
            N = a.N;
            int size = M * N;
            element = new double[size];
            for (int i = 0; i < size ; ++i)
            element[i] = a.element[i];
            }
            當然了,上面的還可以再優化,用memcpy會更快:
            Metrix::Metrix(const Metrix& a) {
            //...
            memcpy(element, a.element, size * sizeof(double));
            }
            copy assignment operator以及operator+也一樣可以優化...
            不多說了呵呵  回復  更多評論   

            色欲av伊人久久大香线蕉影院| 97精品国产97久久久久久免费| 中文字幕日本人妻久久久免费 | 久久综合综合久久97色| 久久久久久久综合综合狠狠| 无码人妻久久一区二区三区蜜桃 | 国产情侣久久久久aⅴ免费| 大香网伊人久久综合网2020| 国产成人精品三上悠亚久久| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 国产AⅤ精品一区二区三区久久| 亚洲精品无码久久久久| 国产精品VIDEOSSEX久久发布| 久久亚洲天堂| 国内精品久久久久久久久电影网| 一极黄色视频久久网站| 97久久精品人人澡人人爽| 久久99国产精品尤物| 亚洲精品成人网久久久久久| 99久久婷婷国产一区二区| 久久久久亚洲AV无码专区体验| 久久99国产精品久久99小说| 97久久精品人人澡人人爽| 久久综合狠狠色综合伊人| 国产精品久久久久jk制服| 亚洲精品乱码久久久久久| 久久久这里只有精品加勒比| 久久国产免费直播| 久久精品夜色噜噜亚洲A∨| 久久精品国产福利国产秒| 国产精品一久久香蕉产线看| 久久这里只有精品18| 久久久久无码精品国产| 久久精品国产亚洲AV高清热 | 久久亚洲精品国产精品婷婷| 久久精品国产第一区二区| 99久久伊人精品综合观看| 久久久青草青青国产亚洲免观| 亚洲国产成人久久一区久久| 一本色道久久综合狠狠躁篇| 99久久这里只精品国产免费|