1/30/2007

Ruby,Python,Perl,PHP 六種框架速度比較

先解釋一下最近在幹嘛,最近要考預官,所以沒時間寫 Blog,請多見諒。

剛剛看到這篇,裡面比較 Ruby,Python,Perl,PHP 幾種網頁框架的速度比較。參賽選手有
一看到這個陣仗,就知道這篇文章可能是(1)聞名古今,戰到天涯無怨尤的有名戰文(2)無關緊要的小測試。(1)的原因是因為原作者可能學富五車,精通各個框架的架設,並且擁有很高深的 benchmark 的經驗,耗盡心血做出一個舉世聞名的 benchmark。但是牽涉到太多 language 的顏面,所以贏家大肆宣揚,輸家拼了老命質疑,不管做得再好都會有人嫌,弱點都會被挑出來講,所以通常會成為戰文。(2)的話就是只做最不容易出問題的部分,比出來的部分根本就無關緊要。

這個 Benchmark 剛好在兩者之間,不過參考價值不大。

這篇文章一開頭就說
The Database in the test is not used, because it itself limits the speed important.
這個測試並沒有比較 Database,也就是根本沒有比到 Model 的效能,但是資料庫跟 Model 實做方式通常是效能的關鍵,那麼整體效能應該每個 Framework 都差不到哪裡去。也就是這個 Test 一開始就沒有太高的可參考性,但是依舊可以看到一些其他部分效能的差異(Routing,dispatch,view rendering之類的)。

排名是
  1. Dijango
  2. Rails 1.1.6 跟 TurboGear 並列第二
  3. Catalyst
  4. CodeIgniter
  5. Rails 1.2.1
  6. Symfony
Ruby on Rails 1.1.6 意外的拿下第二,沒輸給 Python 太多,還贏過普遍認知比 Ruby 快的 Perl 跟 PHP,真是令我驚訝。因為這種不比較 Model 實做的 benchmark,通常都是語言的速度佔最大因素,或許真的是 Project 實做出來的效能有差別吧。總之這個 benchmark Rails 拿下出乎意料的好分數。

不過值得注意的,Rails 1.2 比 Rails 1.1 來的慢,這倒是要好好去 check 一下。或許就跟文中講到,all this attests to possible error in the new version,剛剛出的版本,一些實做還不像 1.1 那麼的完善吧。

1 則留言:

匿名 提到...

электронные сигареты назрань - электронная сигарета kit-prмолодые