2011年 2月 7日 はてなブックマーク -
タグ: #PHP #cURL #pecl_http

環境:

$ \php -v
PHP 5.3.2-1ubuntu4 with Suhosin-Patch (cli) (built: Apr  9 2010 08:23:39) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
$ pear list | grep Net_Socket
Net_Socket              1.0.9    stable
$ pear list -a | grep HTTP
HTTP_Client             1.2.1    stable
HTTP_Request            1.4.4    stable
HTTP_Request2           0.5.2    alpha
$ pear list -a | grep ZF
INSTALLED PACKAGES, CHANNEL PEAR.ZFCAMPUS.ORG:
ZF      1.10.5  stable
$ pecl list | grep http
pecl_http  1.6.6   stable

某テンプレートエンジンの各HTTPクライアントで100リクエスト投げた時のベンチマーク - 例えば、PHPを使う

以下手法で100回ループのベンチマークをした結果、cURLとpecl_httpのものが最速でした。
詳細なコードや環境情報はリンク先を参照して下さい。
・file_get_contents
・pear/HTTP_Request
・pear/HTTP_Request2
・ZendFrameworkのZend_Http_Client
・CURL(sudo apt-get php5-curlしたやつ)
・pecl_http
・pecl_http
・lithium0.9.5


1年前 | | 2011年 2月 7日 | このエントリーを含むはてなブックマーク
2011年 2月 7日 はてなブックマーク -
タグ: #ruby #python #perl #curl

取得対象はlocalhostのfaivcon画像、サーバーはnginxで十分速い。3638bytes。

$ time ruby ruby.rb
real    0m0.512s
user    0m0.247s
sys     0m0.123s

$ time python python.py
real    0m0.908s
user    0m0.216s
sys     0m0.072s

$ time perl lwp.pl
real    0m0.591s
user    0m0.400s
sys     0m0.028s

$ time perl curl_easy.pl
real    0m0.087s
user    0m0.052s
sys     0m0.025s

考察

100リクエストで350KB程度転送するのにLL付属の標準的なHTTPクライアントだと500-1000msぐらいかかるようだ。curl使うと100ms以下で終わる。

LLごとの標準的なHTTPクライアントで100リクエスト投げた時のベンチマーク - 金利0無利息キャッシング – キャッシングできます - subtech

curl速い。


1年前 | | 2011年 2月 7日 | このエントリーを含むはてなブックマーク