Joel談Ruby效能

中文翻譯: Ruby Performance Revisited,大意是這樣的:

每個改用Ruby或Rails愛好者都了解這個原理: 開發時間比CPU時間更重要,我們都希望開發者比CPU更閒。不過 Ruby 的效能不如別人是不爭的事實(The Computer Language Shootout Benchmarks 註),當你碰上需要密集運算的時候(如Bayesian 過濾spam 或是 大量圖表資料運算),可能會因為Ruby太慢而沒辦法加上該功能,不然就是得呼叫另一種程式語言。

因此,當碰上Ruby的效能問題而只是說「開發時間比CPU時間更重要」是沒有意義的。就算你不做需要密集運算的東西,如果發現自己得買100台伺服器而非10台時,你可能就會突然重新思考整個開發者時間與CPU時間的方程式。

註: 大概比較一下幾個主流語言  Java(快Ruby 10x以上) >> Perl (約快5x) > Python > PHP > Ruby == Javascript

參與討論

12 則留言

  1. 原來 Ruby 這麼慢喔 …..

    不過這個比較裡面,竟然 Java 是「最快」,真是不敢相信。

    這是在比慢的吧。 @@

  2. Java 不是最快啊~ 當然還是比不上C/C plus plus啊… :p
    話說回來,如果本來用PHP就沒碰到效能問題,那改用Ruby其實也是差不多啦~

  3. Java當然比PHP快囉~因為Java是靜態型別語言可以透過編譯器做最佳化,跟動態型別的scripting language本來就是不同等級。不過可能是一般沒有特別調教過,所以速度上並沒有感覺快很多吧。

  4. 之前一份工作寫的都是 JSP ,個人是覺得 PHP 還是比較快。
    雖然 Java 是有編譯的,但畢竟還是 Byte Code ,執行是還是需要 JVM 編譯為 Machine Code ..
    調校應該是有差的,不過目前看到大多 JSP 網站都不快就是了。

  5. Java(快Ruby 10x以上) >> Perl (約快5x) > Python > PHP > Ruby == Javascript
    實在太令我震驚了…

  6. PHP比java快才真的會是笑話,8F那位仁兄有機會用PHP寫個類神經網路或是一些machine learning的東西跟java的版本比比看,用PHP開發光資料結構的部份就搞死你,還是你只覺得java and php只能拿來寫網頁?

發佈留言

發表迴響