自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

且看Web流行框架之戰(zhàn)

系統(tǒng)
使用Web開發(fā)框架,可以幫助開發(fā)者提高Web應用程序、Web服務和網(wǎng)站等Web開發(fā)工作的質量和效率。本文主要是對當今流行的Web框架進行比較,通過對比,你將會看到我們經(jīng)常使用的在F/OSS(開放源代碼軟件)下Web流行框架的測試結果。

使用Web開發(fā)框架,可以幫助開發(fā)者提高Web應用程序、Web服務和網(wǎng)站等Web開發(fā)工作的質量和效率。本文主要是對當今流行的Web框架進行比較,通過對比,你將會看到我們經(jīng)常使用的在F/OSS(開放源代碼軟件)下Web流行框架的測試結果。

測試的結果有價值嗎?

或許沒有價值,當涉及到代碼,也許就能凸顯出它的價值所在。我盡可能的試著將每一個測試做到公平、準確?;蛟S考慮測試結果的科學性,這種想法是愚蠢的。本文的目的并非一定要弄清楚每個框架是如何進行快速的***優(yōu)化配置(在默認允許的情況下,內置緩存和其他性能調整通常被啟用),而是更加傾向于分享經(jīng)驗。

此外,無非是想讓Web開發(fā)發(fā)展的更好。但是,當使用適合的工具工作時,“快”并不一定意味著“更好”(極少數(shù)world項目單靠頁面請求速度)。

一、Full stack(ish):Pyramid, Django, TurboGears, and Rails

注:Pyramid/TG程序使用SQLAlchemy測試類似ORM和Jinja2的模板測試系統(tǒng)。

二、Microframeworks:Bottle, Flask, Sinatra, and web.go

注:web.go測試運行在自身內置的服務器上,C語言對我而言較為生疏,我只熟悉GO語言。因此,如果某人能在web.go應用測試中添加SQLite,我會非常感激。

 

三、PHP框架: CakePHP, Kohana, CodeIgniter, Symfony, and Yii

注意:APC被啟用(見“test setup”環(huán)節(jié)),很顯然,大多數(shù)PHP框架使用SQLite3存在很多問題,在某種情況下,黑客需要數(shù)據(jù)庫方面的測試運行結果。

四、所有框架單獨對比情況:

把所有的框架測試單獨進行對比并不是真正的“公平”,因為,他們各自都有不同點。編譯語言(比如GO)要比腳本語言快;使用ORM(比如Rails, Django, Pyramid等)測試要比純數(shù)據(jù)庫(比如Bottle, Flask, Sinatra等)要慢。

[[58254]]

 

測試配置:

采用亞馬遜的EC2云平臺,安裝Ubuntu Server步驟:

The EC2 instance used was: ami-fbbf7892 m1.large ubuntu-images-us/ubuntu-lucid-10.04-amd64-server-20110719.manifest.xml

As a “Large” instance, Amazon describes the resources as: 7.5 GB of memory, 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each), 850 GB of local instance storage, 64-bit platform.

Apache 2.2.14 was used. (Yes, I know there are other options, but with Apache’s market share I figured it would be a good baseline.)

Python 2.6.5 and mod_wsgi 2.8 (embedded mode) were used for the Python based tests.

Ruby 1.9.2p290 and Phusion Passenger 3.0.9 were used for the Ruby based tests (Ruby 1.8.x is slow).

PHP 5.3.2 (with APC enabled) was used for the PHP based tests.

ApacheBench was run locally with -n 10000 and -c 10 about 5-10 times each, and the “best guess average” was chosen.

設定每個框架可運行的三個基本測試結果:

“Hello World”測試:該測試只輸出一個字符串響應。沒有模板或數(shù)據(jù)庫調用,因此進程水平最少。

Template測試:該測試輸出Lorem Ipsum和一個template(框架模板系統(tǒng))

Template/DB測試:Lorem Ipsum從SQLite DB(ORM或sqlite3驅動程序)中加載5行,通過template輸出(ORM/DB驅動程序和template系統(tǒng))。

你可以通過GitHub下載測試應用程序。

你想為測試結果添加XYZ嗎?

只需在GitHub提交測試程序代碼即可。當然,我會不斷更新新的框架版本,你可以隨時關注Google+或者GitHub。

精彩評論:

enneff :

Go的成績很好是有一些原因的。

首先測試用的版本很老(r59),現(xiàn)在***版本是r60。最近大部分Go用戶比較關注Go 1。

其次,更重要的是他們示范了web.go和mustache.go庫。在GO(2009年年底或2010年初)發(fā)布不久后,第三方庫被編譯,從那時起,GO標準的http和template得到了大力發(fā)展。

第三,這里有一個新的"database/sql"包提供單一的SQL數(shù)據(jù)庫接口,還有幾個驅動程序,包括sqlite,因此,在Go語言基準測試中很容易執(zhí)行部分數(shù)據(jù)庫。

鑒于框架的基準測試任務,我想這就是作者進行框架對比的原因。幸運的是對于Go程序員來說,Go項目中的http、templates和databases在標準庫中被稱為代碼的核心功能。

powertower :

“Hello World”測試將被并發(fā)工作所取代,比如用戶訪問、編譯達到100s的請求數(shù),

我記得有個測試是將MySQL與SQL Server(Microsoft's SQL Server)進行對比,還是幾年的事情了。一個用戶用MySQL擊敗了SQL Server 。所有人都為之驚嘆,究竟MySQL如何優(yōu)于SQL Server。

j45 :

有趣的對比,很喜歡這個特別的測試,我們可以在這里發(fā)表自己的看法并進行討論。

比如:是否真的有一個框架適合所有應用?

我們都知道過早的優(yōu)化不適合開發(fā),重要的是有人使用過嗎?

責任編輯:Yeva 來源: linuxeden
相關推薦

2012-02-13 10:03:31

編程開發(fā)

2010-07-23 08:22:00

動態(tài)語言框架

2022-07-26 14:19:25

開發(fā)前端Web

2011-12-12 08:58:52

Python

2017-06-30 12:53:50

Javascript框架Vue vs Reac

2016-12-06 09:45:30

Web框架優(yōu)缺點

2022-09-01 11:48:45

JavaScript框架

2022-02-17 11:41:26

JavaScript框架編程語言

2019-10-21 09:29:00

JavaScriptHTML數(shù)據(jù)庫

2019-07-17 22:07:14

前端開發(fā)框架

2020-06-12 07:57:55

Java框架編程語言Java

2019-05-08 12:15:12

Web挖掘工具

2011-01-04 18:04:49

PHP

2011-03-21 13:01:10

2019-01-31 11:11:30

前端開發(fā)框架

2017-06-27 14:02:09

前端框架Bootstrap

2017-07-14 14:50:00

架構框架前端

2011-03-23 10:50:21

LAMPWeb開發(fā)

2023-06-28 08:00:00

JavaScript開發(fā)

2009-06-16 15:33:13

AJAX框架jQueryExt JS
點贊
收藏

51CTO技術棧公眾號