阿拉姆文翻譯 math
I/O
I/O:
寫100萬行80個字符的數據到文本文件,然後讀回內存。
第 二,Microsoft宣稱一樣的程式,用任何一種.NET說話編寫然後編譯到溝通的MSIL後,最終能以溝通的速度運行--這個說法確切很誘 人,Christopher當然想檢驗一下翻譯 這個基準測試的代碼相當簡單,這麼做才能包管各類.NET說話編寫的例程在功能上是平等的。 這四種語言是 不是真的速度不異呢?
trig履行每一個測試前,Christopher都整理了硬盤,重啟機械,並封閉了不需要的後台服務翻譯 每個測試都運行了至少3遍,選用了最好了局。 啟動時候未較量爭論在內翻譯 測試的硬件情況是:
Type: Dell Latitude C640 Notebook
CPU:
Pentium 4-M 2GHz
RAM: 768MB
Hard Disk: IBM Travelstar 20GB/4500RPM
Video: Radeon Mobility 7500/32MB
OS: Windows XP Pro SP 1
File System: NTFS
這是個小規模的基準測試,涉及9種現代說話或其變種:Java 1.3.1翻譯社 Java 1.4.2,利用gcc 3.3.1編譯的C,Python 2.3.2,使用 Psyco 1.1.1 編譯的Python,四種Visual Studio .NET 2003支持的說話:Visual Basic, Visual C#, Visual C++和Visual J#翻譯
第四,看看semi-compiled語言和完全注釋語言的差異,後者的代表是Python,Perl和PHP。 目下當今有種概念是跟著硬件速度愈來愈快,價格越來越便宜,天成翻譯公司們會發現編譯型說話的速度優勢會大大無用。
效果:
Python/Psyco 效果剔除在外--因為數字太大^_^
單元:秒
數值越小越優異。
這裡是 測試代碼 翻譯 Java
1.3.1, Java 1.4.2和Visual J#利用的是不異代碼。 Visual C++和gcc
C利用幾近不異代碼。 C法式在Cygwin下用gcc編譯。Psyco:增添import
psyco和psyco.full()到Python代船埠部翻譯 四個Microsoft說話的測試在Microsoft Visual Studio
.NET 2003下完成翻譯
Java的log() 函數利用e為底算天然對數,其他語言都用10為底算對數。很希奇Java沒有基於10的log函數,這可能會影響機能翻譯
最後,Christopher想看看Java前後分歧版本之間的不同--這壞小子。 SUN關於1.4.2機能晉升的大牛皮早就吹出來了,所以咱們此次也測測Java 1.3.1到底和1.4.2差別有多大。
第三,想看看Java或.NET到底比完全編譯的C慢若幹。 Christopher開始測驗考試了把CLR從 Visual C++ benchmark中剝離出來--用#pragma unmanaged預處置懲罰指令關閉託管特征,不外沒有成功,性能未見任何改善翻譯以後Christopher把VC法式用gcc重新編譯,以便讓C能真正的 享受當地代碼,不託管,不依靠CLR的好處。
促使Christopher做這個測試的來由有5個:int 點擊產看全尺寸圖表 | double 32位整數運算: 64位整數運算: 64位浮點算術: 64位浮點三角函數: 設 計優越的測試案例的確是fiendishly difficult。 Christopher只測試了數學運算(32位整數算術運算,64位整數算術,64位浮點算術,64位三角運算),之後是遞次訪 問的文件I/O。 測試其實不復雜,沒有觸及字符串處理,圖形,對象創建與管理(對面向對象說話),複雜數據構造,收集接見,數據庫接見。 測試雖簡單,不 過能給出各類說話效力到底若何的大致印象。 第
一,他很好奇Java 1.4.2--最新的官方Java發布版--和Microsoft的.NET 2003
系列說話誰的機能更好翻譯 Java和.NET
語言都是semi-compiled或說semi-interpreted的。 源碼都被編譯成中心代碼,然後與解釋器或者JIT編譯器一同運行。 對
Java來講,中心代碼就是字節碼,解釋器/編譯器就是Java虛擬機JVM;.NET世界裡的源碼被編譯成Microsoft中間說話MSIL,運行
在.NET公共說話運行時引擎上翻譯 闡發: | |||||
Visual C++ | 9.6 | 18.8 | 6.4 | 3.5 | 10.5 | 48.8 |
Visual C# | 9.7 | 23.9 | 17.7 | 4.1 | 9.9 | 65.3 |
gcc C | 9.8 | 28.8 | 9.5 | 14.9 | 10.0 | 73.0 |
Visual Basic | 9.8 | 23.7 | 17.7 | 4.1 | 30.7 | 85.9 |
Visual J# | 9.6 | 23.9 | 17.5 | 4.2 | 35.1 | 90.4 |
Java 1.3.1 | 14.5 | 29.6 | 19.0 | 22.1 | 12.3 | 97.6 |
Java 1.4.2 | 9.3 | 20.2 | 6.5 | 57.1 | 10.1 | 103.1 |
Python/Psyco | 29.7 | 615.4 | 100.4 | 13.1 | 10.5 | 769.1 |
Python | 322.4 | 891.9 | 405.7 | 47.1 | 11.9 | 1679.0 |
編譯及優化等選項:
Java 1.3.1:javac -g:none -O編譯,java -hotspot 運行。
Java 1.4.2:javac -g:none 編譯,java -server 運行。
C:gcc -march=pentium4 -msse2 -mfpmath=sse -O3 -s -mno-cygwin 編譯。
Python with and without Psyco:無優化。 python -O只能加速加載,對運行無用。
Visual Basic:使用Release設置裝備擺設,大開optimized,封閉integer overflow checks。
Visual C#:release,打開optimize code。
Visual C++:release,打開whole program optimization,優化為maximize
speed,打開global optimizations,enable intrinsic functions,設置size or
speed為favor fast code,設置omit frame pointers為yes,設置optimize for
processor為Pentium 4 and above,設置buffer security check為no,設置enable
enhanced instruction set為SIMD2,設置optimize for Windows98為no。
Visual J#:release,打開optimize code,封閉generate debugging information。
本文來自: http://blog.udn.com/DreamYeh/8597936有關各國語文翻譯公證的問題歡迎諮詢天成翻譯公司02-77260931
留言列表