#osxchat blog

2006/02/02

Do the math

作者: barabbas

gslin 在《iMac Core Duo 的效率》一文中已經提到了兩篇最近很熱門的效能評比文章,來龍去脈就不再贅述了。

倒是 Macworld 那篇文章一百多則留言裡有著各式各樣的觀點,還挺有趣的。我個人想先引述 Macworld First Lab Tests 留言回應的其中一則
Apple seems to be being careful to point to SPEC as the indicator for speed. They have this disclaimer on their website:

"Testing conducted by Apple in December 2005 using preproduction 20-inch iMac units with 2GHz Intel Core Duo; all other systems were shipping units. All scores are estimated. SPEC is a registered trademark of the Standard Performance Evaluation Corporation (SPEC); see www.spec.org for more information. Benchmarks were compiled using the IBM compiler and a beta version of the Intel compiler for Mac OS."

I think most people can tell the difference between real world tests and marketing. As Steve Jobs said in the keynote, the hardware besides the CPU is nearly identical between the G5 iMac and the Core Duo iMac making a consistent 2x performance gain impossible.

最後一段話,其實就是 Amdahl's law 的白話版。換句話說,就算這世界上真的有什麼方法可以證明(而不只是評估) Core Duo 比 G5 "CPU" 快兩倍,也不代表系統整體效能就會增進兩倍。

算盤本告訴我們,CPU 效能的衡量標準長得像這樣:
  • 單一程式的 CPU 執行時間 = 程式所需的時脈週期數 / 時脈頻率
由於「程式所需的時脈週期數」還不夠明確,所以又得用以下的標準來評估:
  • 程式所需的時脈週期數 = 程式內的(機器語言)指令數 x 單一指令時脈週期數 (clock cycles per instruction, CPI)
問題來了,Core Duo 和 G5 架構不是不一樣嗎?除了 Apple 之外,其他單位能夠取得上述資料嗎?其實這些跟廢話差不多,所以大家都只能用一般應用程式的壁鐘時間 (wall-clock time) 來衡量。由於系統裡的變因很多,到頭來只有執行時間是你的好朋友:
  • 時間 = 秒/程式 = (指令數/程式) x (時脈週期數/指令) x (秒/時脈週期)
由於這些事麻煩得要命,又常有爭議,於是廠商們組成了 SPEC (System Performance Evaluation Corporation)。可是呢,嗯,我在 SPEC CPU2000 Results 裡頭找不到 Apple 的 benchmarks,雖然去年 11 月出的 CPU2000 1.3 版 change logs 裡提到新增了 Mac OS X Intel version 的支援......

只是,我很好奇,在這回的爭論中,好像沒有人提到,SPEC CPU2000 用的一向都是以 C++ 和 FORTRAN 撰寫的 UNIX based 應用程式喔?

或許這麼說有點奇怪,但如果你是喜歡把 Mac OS X 當 FreeBSD 用的人,這算不算好消息呢?:p

0 篇留言:

張貼留言

? 回前頁