先解釋一下最近在幹嘛,最近要考預官,所以沒時間寫 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之類的)。
排名是
- Dijango
- Rails 1.1.6 跟 TurboGear 並列第二
- Catalyst
- CodeIgniter
- Rails 1.2.1
- 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 那麼的完善吧。
分享到:
相关推荐
使用了uWSCGI服务器 并且详细讲述了它的协议和使用 通过8个实例讲述了在不同情况下的使用 例如Django框架 还有Python的三种客户端:python memcached cmemcache和libmemcached 同样 以Perl Java 以Tomcat应用服务器...
使用了uWSCGI服务器 并且详细讲述了它的协议和使用 通过8个实例讲述了在不同情况下的使用 例如Django框架 还有Python的三种客户端:python memcached cmemcache和libmemcached 同样 以Perl Java 以Tomcat应用服务器...
该版本增加了多语言的支持、windows下面增加了ruby, lua, perl, python等常见脚本的支持,并调整了临时目录的位置和日志的格式。 一、关于ZenTaoATF框架 禅道自动化测试框架是由禅道开发团队推出的一款自动化测试...
《决战Nginx技术卷:高性能Web服务器部署与运维(基于php、Java、ASP.NET等)》详细讲述了Nginx服务器与动态语言应用的结合,动态语言包括PHP、Python、Perl、Java、Ruby及ASP.NET架构。对于PHP部分,我们使用了...
它有许多语言支持的驱动程序(python,ruby,perl,java,php ...)。 MongoKit是一个python模块,在强大的pymongo驱动程序之上带来了结构化架构和验证层。 考虑到KISS和DRY原则,它被编写为尽可能简单和轻便。哲学...
《决战Nginx技术卷:高性能Web服务器部署与运维(基于php、Java、ASP.NET等)》详细讲述了Nginx服务器与动态语言应用的结合,动态语言包括PHP、Python、Perl、Java、Ruby及ASP.NET架构。对于PHP部分,我们使用了...
《决战Nginx技术卷:高性能Web服务器部署与运维(基于php、Java、ASP.NET等)》详细讲述了Nginx服务器与动态语言应用的结合,动态语言包括PHP、Python、Perl、Java、Ruby及ASP.NET架构。对于PHP部分,我们使用了...
Platypus是一个开发人员工具,可以从命令行脚本(例如Shell脚本或Python,Perl,Ruby,Tcl,JavaScript和PHP程序)创建本机Mac应用程序。这是通过将脚本与运行脚本的应用二进制文件包装在macOS 应用程序捆绑包中来...
它采用接口描述语言定义并创建服务,支持可扩展的跨语言服务开发,所包含的代码生成引擎可以在多种语言中,如 C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk 等创建高效的、无缝的服务...
《决战Nginx技术卷:高性能Web服务器部署与运维(基于php、Java、ASP.NET等)》详细讲述了Nginx服务器与动态语言应用的结合,动态语言包括PHP、Python、Perl、Java、Ruby及ASP.NET架构。对于PHP部分,我们使用了...
该版本增加了多语言的支持、windows下面增加了ruby, lua, perl, python等常见脚本的支持,并调整了临时目录的位置和日志的格式。一、关于ZenTaoATF框架禅道自动化测试框架是由禅道开发团队推出的一款自动化测试框架...
目录Python Java C#JavaScript PHP C ++ C Ruby R Erlang Perl Go Scala Python Scrapy-一个快速的高级屏幕抓取和Web抓取框架。 django-dynamic-scraper-通过Django管理界面创建Scrapy刮板。 Scrapy-Redis-Scrapy的...
全网最全Appium自动化测试教程,一篇就够了 Appium是开源的、跨平台的测试自动化测试框架...Appium支持Selenium WebDriver支持的所有语言(Java、Python、JavaScript、Objective-C、PHP、Ruby、C#、Clojure、Perl等)。
它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务。...
它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Go,Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务 ...
Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,...Node.js 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言
Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月...Node.js 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。
Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月...Node.js 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。
Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月...Node.js 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。
Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml),并由...