`

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 楼 ouspec 2007-01-31  
不管怎么说rails排第二已经相当不错了。

PS:什么叫考预官?

相关推荐

    生产规模的数据中心分析器CC Go Rust Python Java NodeJS PHP Ruby Perl.zip

    这个压缩包文件"生产规模的数据中心分析器CC Go Rust Python Java NodeJS PHP Ruby Perl.zip"包含了多种编程语言实现的数据中心分析器组件,这表明该工具可能支持跨平台和多语言集成。以下是对这些编程语言在数据...

    基于Python的Web技术

    LAMP 是一种流行的 Web 开发平台,由 Linux、Apache、MySQL 和 PHP、Perl、Python 或 Ruby 等脚本语言组成。LAMP 具有开放灵活、开发迅速、部署方便、高可配置、安全可靠、成本低廉等优点,是目前最流行的 Web 开发...

    完全用Python工作---Harness the power of Python

    Ruby主要因RoR框架受欢迎,但Python有Django和Flask等优秀框架;Lisp用户可能更倾向于Python或Perl作为日常脚本语言;Perl的代码阅读难度大,而Python的可读性强;至于C#、PHP和JavaScript,它们各自在特定领域有...

    每个程序员都应该学习使用Python或Ruby

    最后,随着技术的发展,Python和Ruby提供了丰富的Web开发框架和API支持,这使得它们在新时代的网络编程中显得更加得心应手。对于印度计算机科学专业的学生来说,在选修编程语言时,可以将Python和Ruby作为主要参考。...

    强大的Python 完全用Python工作.pdf

    对于Ruby,尽管RoR框架非常流行,但Python同样拥有强大的Web开发框架如Django和Flask;至于Lisp和Perl,它们虽然在某些领域有独特之处,但在通用性上不如Python广泛;而对于C#、PHP、JavaScript,Python在一些场景下...

    强大Python完全用Python工作.doc

    3. **Ruby**:Ruby主要用于RoR(Ruby on Rails)框架,而Python有多个优秀的Web框架,如Django和Flask,且Python的生态系统更广泛。 4. **Lisp**:Lisp拥有强大的抽象能力,但对于日常脚本和应用开发,Python提供了...

    强大的Python 完全用Python工作.docx

    4. **Ruby**:Ruby主要用于RoR(Ruby on Rails)框架,Python同样拥有类似的Web开发框架,如Django和Flask,但Python的生态系统更为庞大,功能更多样。 5. **Lisp**:Lisp拥有强大的抽象能力,但Python通过其模块化...

    perl cgi

    Perl CGI虽然经典,但在现代Web开发中,已经被更高级的框架如Django (Python)、Ruby on Rails和PHP所取代。然而,理解Perl CGI的基础对理解Web服务器的工作原理和动态网页生成机制仍然很有帮助。如果你对Web服务器...

    决战Nginx:技术卷 - 高性能Web服务器部署与运维.z01(3-3)

    使用了uWSCGI服务器 并且详细讲述了它的协议和使用 通过8个实例讲述了在不同情况下的使用 例如Django框架 还有Python的三种客户端:python memcached cmemcache和libmemcached 同样 以Perl Java 以Tomcat应用服务器...

    决战Nginx:技术卷 - 高性能Web服务器部署与运维.z02(3-2)

    使用了uWSCGI服务器 并且详细讲述了它的协议和使用 通过8个实例讲述了在不同情况下的使用 例如Django框架 还有Python的三种客户端:python memcached cmemcache和libmemcached 同样 以Perl Java 以Tomcat应用服务器...

    强大的Python-完全用Python工作.docx

    首先,作者提到了其他编程语言的特性,如C和C++的底层控制,Haskell的函数式编程,Java的面向对象,以及Ruby的RoR框架。然而,Python在这些领域都有对应的解决方案,例如NumPy和Pandas用于数值计算,Django和Flask...

    强大的Python--完全用Python工作.docx

    Ruby作为RoR(Ruby on Rails)框架的基础,对于Web开发有着出色表现,但Python的Django和Flask框架同样功能强大。Lisp虽然在抽象层次上有优势,但其独特的语法并不适合所有开发者。Perl虽然在文本处理上有独到之处,...

    pythonchallenge level2官方方法集

    一种易读的Ruby解决方案,类似于最初的Python解决方案,强调了代码可读性和一致性的重要性。 #### 38. Permutations: Yet Another Turn 排列组合:又一次尝试,这可能是指在解决问题时采用了一种新的组合方式,...

    python+selenium自动化入门.ppt

    它可以在浏览器中运行测试,模拟真实用户的行为,支持Firefox、IE、Mozilla等多种浏览器,并且兼容JAVA、C#、Ruby、Python、PHP、Perl等多种编程语言。 **Selenium组成部分** 1. **Selenium Core**:作为Selenium ...

    强大的python完全用python工作精编WORD版.pdf

    Ruby主要与RoR(Ruby on Rails)关联,但Python也有类似的Web框架;Lisp虽然有高度的抽象能力,但其语法对于初学者可能难以接受;Perl的正则表达式使用频繁,不易阅读;C#、PHP和JavaScript在某些方面可能不如Python...

    强大的Python--完全用Python工作 (2).pdf

    3. **Ruby**: Ruby与Ruby on Rails(RoR)框架紧密关联,但对于只想使用语言而非特定框架的用户,Python提供了更多选择。 4. **Lisp**: Lisp有着独特的抽象语法树,适合高级编程,但Python更易于学习和使用,适合更...

    Ruby on rails.doc

    相比PHP和Perl,Ruby能够提供更为一致的代码结构,而与Lisp、Python和Smalltalk相比,Ruby结合了Rails框架,提供了显著的生产力提升和快速增长的社区支持。 2. **Rails的重要性**:Rails不仅是一个Web框架,它是...

Global site tag (gtag.js) - Google Analytics