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

qiezi的學習園地

AS/C/C++/D/Java/JS/Python/Ruby

  C++博客 :: 首頁 :: 新隨筆 ::  ::  :: 管理 ::
實際上不是全面測試性能。應該這么說:使用一個你熟悉的語言,用它寫出一個高效的版本(做下面那件事)。

不小心讀到一個帖子:http://blog.vckbase.com/jzhang/archive/2006/03/28/18807.html

看到C++竟然被比下去了,自然不是很舒服,畢竟C++對于C并沒有太大的性能上的降低,而python是C寫的(指Cpython實現),自然不會高過C。(廢話,C基本上接近匯編效率了)

可惜C++又很難找出這么高效的實現,STL效率還是低了些(為什么?一直以為它很高效,用得比較放心)。最近一直比較關注D語言,于是用D語言來測試一下。代碼如下:

?1?import?std.stdio;
?2?import?std.string;
?3?import?std.perf;
?4?
?5?int?main(char[][]?argv)
?6?{
?7???if?(argv.length?<?3)?{
?8?????writefln("Wrong?arguments");
?9?????return?1;
10???}
11?
12???const?int?READ_SIZE?=?1024;
13?
14???FILE*?fin?=?fopen(argv[1],?"r");
15???FILE*?fout?=?fopen(argv[2],?"w");
16???char?buffer[READ_SIZE];
17???int[char[]]?emails;
18?
19???PerformanceCounter?counter?=?new?PerformanceCounter();
20???counter.start();
21???while?(!feof(fin)){
22?????fgets(cast(char*)buffer,?READ_SIZE,?fin);
23?????char[]?email?=?toString(cast(char*)buffer);
24?????if?(!(email?in?emails)){
25???????emails[toString(buffer)]?=?0;
26???????fputs(cast(char*)email,?fout);
27?????}
28???}
29?
30???fclose(fout);
31???fclose(fin);
32???counter.stop();
33?
34???writefln(counter.milliseconds());
35???return?0;
36?}
37?

沒加fopen失敗處理。

測試結果在我的機器上耗時只有python版本的1/3,我看到其它網友的C++實現最好成績也不過1/2,由于是D是C語言所寫,測試使用的又是C庫,自然可以認為C語言還是比較高效的。

上面的D語言代碼里調用了toString,把char*轉為char[],它的源代碼如下:
char[]?toString(char?*s)
{
????
return?s???s[0?..?strlen(s)]?:?cast(char[])null;
}

如果s[0 .. strlen(s)]產生了復制的話,應該是會影響性能的。char[]對象是受GC管理的,應該會復制一份。這種情況下還能有如此高的效率,的確很不錯。

不過python的性能讓我感覺很吃驚,以前只測試過字符串連接,感覺比較高效。

寫了一個完成一樣功能的ruby程序,耗時接近python版本的2倍,當然由于對它不是很熟,可能寫得不夠高效。
?1?emails?=?Hash.new
?2?
?3?start?=?Time.now
?4?fout?=?open('email-2-new1.txt',?'w')
?5?open('email-2.txt').each?do?|line|
?6???if?!emails.has_key??line
?7?????emails[line]?=?0
?8?????fout?<<?line
?9???end
10?end
11?puts?Time.now?-?start
12?

正如某網友所說,這個程序的瓶頸在于IO,拿來作性能上的比較或許是不合適的。從語言效率上來講,自然是C++和D相當,可能會比D高,python應該會低很多。但在很多情況下,衡量效率不光是語言本身,還有庫,沒有庫的語言是沒什么吸引力的。python是一種很“慢”的語言,相對C/C++來說,不過它是一門實用性的語言,所以它為一些特定用法做了優化,取得了不錯的成績。C++是一門通用語言,或許太注重語言的性能了,忽略了庫,導致庫把性能給拉下來了。這種情況下,有人評測java和C++的性能,結果是java要高,自然是不那么讓人驚奇的了。可是如果標準庫都這么慢,那還能指望什么呢?

當然也并沒有證明STL就特別慢,也可能是使用不正確。


只是剛好看到這個比較,忍不住參與一下,切勿當真。
posted on 2006-03-31 11:06 qiezi 閱讀(841) 評論(0)  編輯 收藏 引用 所屬分類: 雜談D
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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久久国产综合久久蜜月精品| 99视频一区二区| 国产伪娘ts一区| 夜夜嗨av一区二区三区中文字幕| 欧美在线高清视频| 亚洲韩国精品一区| 久久精品视频在线免费观看| 欧美调教视频| 99精品欧美一区二区三区| 久久精品理论片| 亚洲视频在线二区| 欧美日韩国产小视频| 亚洲黄色免费电影| 欧美成人一区二区三区| 欧美激情中文字幕一区二区| 小黄鸭精品aⅴ导航网站入口| 欧美日韩国产一区二区三区| 黄色亚洲网站| 欧美一区影院| 日韩视频免费看| 欧美a级一区| 亚洲国产中文字幕在线观看| 免费短视频成人日韩| 欧美亚洲一区二区在线观看| 国产精品自拍一区| 欧美一级理论片| 亚洲欧美日韩在线观看a三区| 国产精品久久一级| 性久久久久久久久久久久| 亚洲午夜电影在线观看| 国产精品夜夜嗨| 欧美一级午夜免费电影| 午夜精品久久久久久99热软件| 国产精品一区久久久久| 欧美一级久久久| 欧美在线精品免播放器视频| 好看的日韩av电影| 免费视频最近日韩| 欧美另类视频| 亚洲在线日韩| 欧美一区三区二区在线观看| 在线看片日韩| 亚洲国产日韩在线一区模特| 香蕉成人伊视频在线观看| 狠狠色伊人亚洲综合网站色| 亚洲高清在线观看| 亚洲欧洲精品一区二区| 国产精品久久久对白| 久久国产精品一区二区三区| 久久免费视频网站| 一区二区三区精密机械公司| 亚洲视频一区二区| 好吊色欧美一区二区三区四区 | 亚洲成人直播| 欧美日韩精品中文字幕| 亚洲专区在线| 玖玖视频精品| 亚洲综合首页| 久久亚洲欧美国产精品乐播| 欧美日韩中文字幕在线视频| 欧美成人一区二区三区在线观看| 欧美日韩三级| 久久久亚洲人| 国产精品美女www爽爽爽视频| 老牛影视一区二区三区| 欧美日韩免费观看一区=区三区| 久久精精品视频| 一区二区日韩免费看| 欧美另类综合| 日韩视频免费观看| 亚洲欧洲一区二区三区| 国产精品久久综合| 亚洲综合另类| 欧美在线亚洲综合一区| 亚洲激情av在线| 91久久精品一区| 欧美日韩八区| 久久精品视频在线看| 久久久99久久精品女同性| 亚洲欧美一区在线| 亚洲欧美福利一区二区| 亚洲福利视频网| 午夜国产欧美理论在线播放| 国产色综合天天综合网| 最新国产乱人伦偷精品免费网站| 欧美激情综合色综合啪啪| 久久激五月天综合精品| 国产精品久久看| 久久久久久久综合日本| 欧美午夜宅男影院在线观看| 欧美激情aaaa| 欧美激情按摩| 欧美韩日一区| 欧美日韩精品中文字幕| 蜜臀av一级做a爰片久久 | 国产一区二区三区四区三区四| 久久精品免费| 韩国三级电影久久久久久| 午夜精品久久久久久久蜜桃app | 亚洲国产影院| 美女脱光内衣内裤视频久久网站| 久久视频免费观看| 国产亚洲成av人在线观看导航| 欧美一区三区二区在线观看| 久久精品视频在线看| 国产综合婷婷| 久久久久久网站| 亚洲高清不卡av| 亚洲精品视频一区| 99riav国产精品| 激情综合久久| 免费久久99精品国产自在现线 | 国产农村妇女毛片精品久久麻豆| 亚洲婷婷综合色高清在线 | 一区二区三区www| 午夜精品一区二区三区在线 | 一区二区电影免费在线观看| 欧美三级日本三级少妇99| 中文精品99久久国产香蕉| 欧美一区二区三区免费视频| 国产午夜久久久久| 亚洲一区精彩视频| 国产精品永久免费| 久久精品日韩欧美| 亚洲综合成人在线| 国产欧美日韩精品a在线观看| 欧美一区二区观看视频| 狼人社综合社区| 亚洲精品免费在线| 国产精品久久久99| 久久久天天操| 久久久久国产精品www | 韩国成人精品a∨在线观看| 久久伊人亚洲| 中日韩视频在线观看| 久久一区二区三区四区| 中文在线一区| 一区二区三区在线高清| 欧美日韩精品免费观看视一区二区 | 欧美视频在线观看免费| 亚洲精品国产日韩| 欧美一二区视频| 亚洲精品视频中文字幕| 国产欧美欧美| 欧美精品免费播放| 欧美资源在线| 亚洲一二三区精品| 亚洲成人在线视频网站| 欧美一区影院| 亚洲视频导航| 亚洲国产综合在线| 国产亚洲毛片| 欧美日韩在线观看一区二区三区| 性欧美videos另类喷潮| 亚洲国产合集| 久久只有精品| 亚洲欧美激情视频在线观看一区二区三区| 一区二区三区在线观看视频| 欧美中文字幕在线播放| 欧美不卡视频一区发布| 欧美一区二区三区在线视频| 91久久久久久| 韩国三级电影久久久久久| 欧美伊人久久久久久久久影院| 欧美在线免费观看视频| 亚洲免费视频网站| 99国产精品| 亚洲精品国产精品乱码不99| 在线观看国产精品淫| 狠狠色狠狠色综合人人| 国产一区在线看| 国产午夜精品理论片a级大结局| 欧美绝品在线观看成人午夜影视 | 国产一区二区电影在线观看| 欧美日韩亚洲一区三区| 欧美激情视频一区二区三区不卡| 最新亚洲激情| 亚洲日本aⅴ片在线观看香蕉| 亚洲综合国产精品| 久久不射网站| 欧美在线综合视频| 亚洲欧美日本视频在线观看| 亚洲一区日本| 亚洲欧美综合另类中字| 在线一区二区三区做爰视频网站| 欧美丝袜一区二区| 欧美日韩一视频区二区| 免费在线亚洲欧美| 欧美在线观看日本一区| 欧美电影美腿模特1979在线看| av成人免费在线| 老司机精品导航| 国产精品一二三| 日韩午夜精品视频| 久久影视三级福利片| 一本大道av伊人久久综合| 麻豆精品精华液| 韩国av一区| 久久精品国产视频|