我發現在使用1.3 GHz ARM Cortex-A53的平板電腦上運行Android基準測試時,64位編譯比32位編譯有明顯的性能提升。最新版本通過Eclipse編譯,並在運行時檢測CPU是ARM,Intel還是MIPS,然後是32位或64位體系結構。
在以前的Windows版Intel CPU編譯中,可以工作64位由於使用SSE類型的SIMD指令,其速度比32位快得多。但是,後來的32位編譯器具有向後不兼容的功能,它們產生的代碼幾乎相同,速度也差不多。 1.2 GHz的Cortex-A9。最後是一些彙編代碼清單,用於標識所使用的不同指令。以下是結果摘要。
http://www.roylongbottom.org.uk/android%2064%20bit%20benchmarks.htm#anchorStart
Whestone基準-(微小循環)相似的性能,總體等級受使用EXP函數編譯測試的影響。
Dhrystone基準-最新的MIPS / MHz 1.09 32位,1.96 64位,1.10 A9-可能是64
Linpack基準測試-(N = 100)64位DP 1.97倍速,SP 2.67倍-請參見彙編代碼。
Livermore循環-(24個內核)平均1.5速度提高1倍,範圍為0.8到7.9倍
L1 / L2緩存和RAM測試
MemSpeed-浮點和整數計算-獲得2.2倍緩存,1.5倍RAM。 p> BusSpeed-整數數據流和突發讀取-流2.0 x L1、1.5 x L2、1.25 x RAM-突發2.6 x L1,類似的L2和RAM。
RandMem-串行和隨機讀取和讀取/使用相同的複雜索引結構進行寫操作-通常在讀取時會快一點,但讀/寫類似/慢。
然後是上述的MP版本,並嘗試使用2.7 GFLOPS 32位和5.5 GFLOPS 64位的4個內核最大值來測量最大SP MFLOPS(MP-MFLOPS)。還有一個使用NEON內在函數的版本,其中64位編譯器生成高達10.8 GFLOPS的替代指令,而生成32位的5.7的指令-請參見程序集清單。我也有針對Windows 10和Android Intel Atom平板電腦的這些基準測試的版本-64位和32位Windows,32位Android-未完全實現的完整64位-64位Linux內核,但32位Android。
http://www.roylongbottom.org.uk/android%20benchmarks.htm
另外,我有32位和64位Linux / Intel版本。
Roy Longbottom