X



【perl】速いのはどっち?【php】
0001nobodyさん
垢版 |
2006/10/15(日) 12:49:43ID:???
で、結局のところどっちが軽いんだよ?
教えろマニアども
0030nobodyさん
垢版 |
2006/10/16(月) 05:42:06ID:???
また宗教戦争はじめるのか
0031nobodyさん
垢版 |
2006/10/16(月) 10:46:49ID:???
mod_perl > mod_php + eaccelerator > mod_php > perl cgi > php cgi >>>>> ruby cgi
0032nobodyさん
垢版 |
2006/10/16(月) 14:23:48ID:???
要するにphpのほうが速いんだろ?
0033nobodyさん
垢版 |
2006/10/16(月) 14:59:18ID:???
いいえ。微細な気にする人はまず鯖を新調しなさいということです。
0034nobodyさん
垢版 |
2006/10/16(月) 15:43:36ID:ecpKZqzB
好きなの使え

糸冬
0035nobodyさん
垢版 |
2006/10/16(月) 16:40:00ID:wxXs/Q+z
>>33
日本語でおk
0036nobodyさん
垢版 |
2006/10/16(月) 21:06:50ID:???
言語処理系としては、Perlの方がPHPより速い。

PHPが速いと言われるのは、処理系の遅さが目立たない小さめのスクリプトを、mod_php
で動かした場合、Perl/CGIと比べて速いという事。
スクリプトが大きくなると、処理系の遅さが目立って来る。
近頃はFWを使うのが流行りだが、FWを入れると当然サイズがでかくなるので、実行速度を
求める場合には向かない事になる。

Perlは、CGIとして動かす分には遅いが、mod_perl,fastcgi,speedycgi等を使用すれば、CGI
のコストから開放されて、とても速くなる。
上記のものを使うと、少なくともmoduleはメモリ上にcacheされるので、FWなどとの相性も
良い。

PHP,Perl/CGI,CGIじゃないperlを比べると、ほとんど何もしない様なスクリプトの場合、PHP
が一番速いが、ある程度意味のあるサイズのコードになると、CGIじゃないPerlが速くなる。

ちなみに、やることが簡単で、どうしても速度が欲しい場合は、Cでapacheのmoduleを書く
と良い。簡単な処理しかしないのであれば、言語は何を使っても書くための手間はさほど
変わらないが、処理速度は、桁違いに向上する。
0037nobodyさん
垢版 |
2006/10/16(月) 21:41:45ID:???
詳しいことはわかんないけど、扱うデータがでかくなったり処理が
複雑になったとしても、MySQLとかが使えるphpのほうが結局速くて
お手軽なんじゃねーの?
0038nobodyさん
垢版 |
2006/10/16(月) 23:09:04ID:???
>>36
なんで言語の比較にApacheやフレームワークが出てくるんだよ。バカだろ、しねよ。
つー事でPHPなら数秒で終わる計算がPerlなら何分かかるかここに書き込んでみろってんだ。
小便チビりながら半べそかいて逃げ出すなよ。

--- PHP ---
<?php
$x = bcpow(10, 30);
for ($i = -1; $i <= 1; $i += 0.00001) {
$y = bcmul(sprintf("%.4f", acos($i)), $x);
}
?>

--- Perl ---
use POSIX qw/acos pow/;
use bignum;
$x = pow(10, 30);
for ($i = -1; $i <= 1; $i += 0.00001) {
$y = sprintf("%.4f", acos($i)) * $x;
}


・・・・Perl6マダー(´;ω;`)
0039nobodyさん
垢版 |
2006/10/16(月) 23:18:19ID:???
>>37
> MySQLとかが使えるphpのほうが結局速くて
Perlでも使えるだろw
0040nobodyさん
垢版 |
2006/10/16(月) 23:19:26ID:???
>>38
両方ともモジュールでやったらPerlの方が早かったよ。
0041nobodyさん
垢版 |
2006/10/17(火) 00:32:16ID:???
>Perlは、CGIとして動かす分には遅いが、
サーバー上でうごいてるのはほとんどそれってことだろ?
0042nobodyさん
垢版 |
2006/10/17(火) 00:38:18ID:???
mod_perlってレンサバにはあんまないよね?
0043nobodyさん
垢版 |
2006/10/17(火) 00:42:22ID:???
speedycgi
>これは、 Perl 処理系をメモリに常駐させることで、
>CGI プロセス起動時に処理系の起動によるオーバーヘッドをなくすための
>仕組みです。
でもレンタルサーバの殆どでサポートされてない。
つまり、サーバーに負担が懸かるからだろ?
0044nobodyさん
垢版 |
2006/10/17(火) 00:53:42ID:???
mod_perl
>mod_perlの利用はPerlによるCGI使用者にとって、かなり魅力的ですが、
>実行スクリプトの量によってはメモリ消費が多くなることも忘れてはいけません。
>また、通常のCGIスクリプトは、おそらくmod_perlでは動作しませんので、
>mod_perl用に注意深くコードを書き換える必要があります。

コードを書き換えなきゃならないんだったら、おなじperlとして扱うのは
どうかと思うが。
で、やっとphpと同じくらいのスピードなんだろ?
マニアのくせに大事なこと言わないんだもんなぁ。
0045nobodyさん
垢版 |
2006/10/17(火) 02:12:14ID:???
速いって思ってる方使ってればいいだけの話
0046nobodyさん
垢版 |
2006/10/17(火) 05:16:09ID:???
>>44
それは言語の問題じゃないよ。

言語速度ならPerlが速いが大きな差が出るほどではない。
お手軽に速度出したいならPHP
コスト掛けて堅牢かつ速度出したいならJava
純粋に速度を出したいならC
変態志向の人はPerl
0047nobodyさん
垢版 |
2006/10/17(火) 07:23:58ID:???
>>43
レン鯖でmod_php使えるところはセキュリティやばいぞ
0048nobodyさん
垢版 |
2006/10/19(木) 20:35:52ID:???
あえて言おう。
PythonいいよPython。
0049nobodyさん
垢版 |
2006/10/21(土) 10:17:11ID:???
>>43
それ言うならPHPの方がサーバーに負担かかってる
0051nobodyさん
垢版 |
2006/10/22(日) 03:08:11ID:???
speedycgiとmod_perlはレンサバではセキュリティの問題が出るんじゃない?
PHPなら一応セーフモードがあるけど。
0052nobodyさん
垢版 |
2006/10/22(日) 03:16:54ID:???
speedycgiは文字通りCGIでも動くからsuexecが有効だぞ。

mod_phpよりは安全。
0053nobodyさん
垢版 |
2006/10/22(日) 03:20:14ID:???
>>51
module系を共用鯖で使う方がおかしい
0054nobodyさん
垢版 |
2006/10/22(日) 12:50:22ID:???
>>52
で、cgiで動かしたら遅くなるんだろ?
いつまでもピントのずれたこと抜かしてんじゃねーよw
0055nobodyさん
垢版 |
2006/10/22(日) 13:00:45ID:???
両方とも同じCGIで動かしたらPerlの方が速い。
同じモジュールで動かしてもPerlの方が速い。

PerlはCGI、PHPはモジュールで動かしたら
そりゃ当然PHPの方が速いけど、
クラックされる危険性がある。
0056nobodyさん
垢版 |
2006/10/22(日) 13:57:01ID:???
>>54

mod_phpよりは早いよ。ピントがずれてるのはお前だ。
0057nobodyさん
垢版 |
2006/10/22(日) 14:05:46ID:???
PHPもeacceleratorあるからねぇ。
0060nobodyさん
垢版 |
2006/10/22(日) 15:36:07ID:???
perl→cgiで動かすのが一般的
php→モジュールで動かすのが一般的
どの言語でも大抵、cgiよりもモジュールのほうが速い
同じモードで動かせば、phpよりperlのほうが速いが、
perlはモジュールに対応するために書き換えなきゃならないし
自前鯖でない限り環境整備は難しい

この部分は結論でたな
これに異論あるマニアはいるか?

それとだ、クラックされる危険性があると言うけど、
ていうかそんなにphpがヤバかったら企業系サイトで
こんなに使われる訳ねーとおもうんだが

perlだって絶対に安全って訳でもないんだろ?
0061nobodyさん
垢版 |
2006/10/22(日) 15:43:46ID:???
つか、安全性はphpかperlかの問題じゃなくて、
cgiモードかモジュルモードかの問題なんだろ?
ここんところはっきりさせてくれ
0062nobodyさん
垢版 |
2006/10/22(日) 15:48:16ID:???
>>60
クラックされる危険があるのは、mod系を共用鯖で使った場合。
パーミッションを考えれば自明の理。企業鯖で共用鯖とかまず無いから。
仕方なく共用鯖で使う場合にセーフモードなんて緊急手段があるわけで。

で、mod_perlに対応するための書き換えとか言うけど、最初からちゃんと
strictなもの書いてればそもそも書き換え要らない。

>>61
ハッキリできたら誰も苦労しない。
0063nobodyさん
垢版 |
2006/10/22(日) 17:34:11ID:???
> 企業鯖で共用鯖とかまず無いから。
たくさんあるぞ。

中小企業のほとんどは共用サーバーだ。
0064nobodyさん
垢版 |
2006/10/22(日) 19:05:44ID:???
VPSなら問題はないな
共用鯖でも大部分はsafemodeでしょ。じゃなきゃ怖すぎる。
0065nobodyさん
垢版 |
2006/10/22(日) 19:12:32ID:???
ちょっと待ってくれ
このスレでは速さだけが問題でセキュリティは二の次じゃないのか?
0066nobodyさん
垢版 |
2006/10/22(日) 20:41:23ID:???
>>64
VPSは専用サーバーと変らん。
管理に金がかかる。

セキュリティが二の次だと言うのなら、
perlはcgiでphpはモジュールなのが多いということも二の次だ。

両方モジュールで動かしたらperlの方が速い。
0067nobodyさん
垢版 |
2006/10/22(日) 21:17:09ID:???
最近佐賀ネタでスレ違いの書き込みが増えている。
佐賀県庁・佐賀県警・談合・痴漢・情報漏洩などの内容だ。
銀行が潰れるとしたデマが回り騒ぎが起きたこともある。
このような書き込みは慎むべきだ。

被害防止のため常駐するスレに啓蒙してくれ。
0068nobodyさん
垢版 |
2006/10/22(日) 21:42:28ID:???
>>66
じゃperlの方が早いということで

終了
0069nobodyさん
垢版 |
2006/10/22(日) 22:50:21ID:jtZ/mkeq
p e r l 厨 必 死 だ な w
0070nobodyさん
垢版 |
2006/10/22(日) 23:07:16ID:???
相変わらずwebprogは低レベルだな
0071nobodyさん
垢版 |
2006/10/22(日) 23:20:41ID:???
ttp://www.ryuichi.jp/computer_memo/etc/template_time_match/

(mod_perlの場合)
>「 2 回 目 か ら は コ ン パ イ ル が ス キ ッ プ さ れ る の で 」

したらCとかC++とかと較べなきゃ(笑)
全然遅いんだろ、perlのほうが
0072nobodyさん
垢版 |
2006/10/22(日) 23:34:54ID:???
PerlとCでは言語的な速度ではCの方が速いですが
Perl/mod_perl、C/CGIの場合オーバーヘッドの分Perl/mod_perlの方が速い場合があります。

PHPとPerlでは言語的な速度ではPerlの方が速いですが
PHP/mod_php、Perl/CGIの場合オーバーヘッドの分PHP/mod_phpの方が速い場合があります。

ここで「Cと比べなきゃwww」と思うような思考がPerlとPHPの速度に関して定期的に起こる
不毛な議論の原因となっているのでは無いでしょうか。
0073nobodyさん
垢版 |
2006/10/23(月) 04:31:37ID:???
>>71
Cの場合はmodule作れちゃうから最速なのは当たり前。
ここではもっと低次元な争いをしてるので高次元の方はお引き取りください。
0074nobodyさん
垢版 |
2006/10/23(月) 12:16:34ID:???
>>72
基本的に同意なんだけど、sortとか文字列処理がややこしい場合、Cを使って自分で
書いたクソコードより、perl使ったものの方が速い事がありそう。

perl,php,java,cのどれが良いかなんていう話は、はっきり言って不毛だと私も思う。
問題に応じて適した処理系を選択する、と言う方向に発想が行かない所が悲しいね。
0075nobodyさん
垢版 |
2006/10/23(月) 23:20:49ID:???
perlを習得できずにPHPに逃げたやつが、
目の敵にしてるだけ。
どっちもできる側からすれば、どーでもいい。
0076nobodyさん
垢版 |
2006/10/24(火) 07:13:29ID:???
>>73
perlでもapacheのmodule作れる。それをするための仕掛けがmod_perl。
Cでも、apacheのmoduleにすると当然速いが、CGIにすれば、そう速いと言う程でもない。
やる事にもよるけどね。
0077nobodyさん
垢版 |
2006/10/24(火) 08:37:46ID:???
>>76
そういう話をしてるんじゃないと思う
0079nobodyさん
垢版 |
2006/10/24(火) 19:40:18ID:+CkcIqPb
perlは速くて優れた言語だよね











廃れる一方だけどw
0080nobodyさん
垢版 |
2006/10/24(火) 19:53:45ID:???
mod_perl自体が速いんじゃなくて、

二 回 目 以 降 は コ ン パ イ ル を ス キ ッ プ し て い る の で

速いんだろ?
>>72はなにとんちんかんなこと言ってんだ?

>>75も寝ぼけてるね
phpもperlもそんなに変わらないだろ
ていうか小難しいうえに処理も遅かったら最悪じゃないの、perlってw
0081nobodyさん
垢版 |
2006/10/24(火) 21:38:55ID:???
また凄い奴が来たな
0082nobodyさん
垢版 |
2006/10/25(水) 00:07:34ID:???
>>80
PHPがperlと比べて速いと言われたのは、Perl/CGIとmod_phpを比較しての事だった。

また、

> phpもperlもそんなに変わらないだろ

 では、phpとperlの習得の難易度は大差ないと言いつつ、次の行で、

> ていうか小難しいうえに処理も遅かったら最悪じゃないの、perlってw

 perlは小難しいと言っている。
 どっちだと言いたいんだろうか。
0083nobodyさん
垢版 |
2006/10/25(水) 00:19:11ID:???
おまえ馬鹿じゃないの?w
75が
>perlを習得できずにPHPに逃げたやつが、
と言ってるから
>ていうか小難しいうえに処理も遅かったら最悪じゃないの、perlってw
て言ってやったんじゃないの

perl厨ってほんと頭悪いよね

それとさ

(mod_perlは)
>二 回 目 以 降 は コ ン パ イ ル を ス キ ッ プ し て い る の で

いい加減この部分とスピード比較のリンク先よめよ
0084nobodyさん
垢版 |
2006/10/25(水) 00:22:00ID:???
>>83
いやさ、「コンパイルをスキップ」の部分を懸命に強調してるけど
それで速くなってるなら全然問題ないと思うのだが何が言いたいの?
0085nobodyさん
垢版 |
2006/10/25(水) 00:29:58ID:???
言語として早いんじゃなくて、コンパイル飛ばすから速い訳だろ?
といってんだよボケ
0086nobodyさん
垢版 |
2006/10/25(水) 01:44:12ID:???
このすれのいちがあたまわるいしつもんしてんだからふもうなレスになるのはしょうがない。
0087nobodyさん
垢版 |
2006/10/25(水) 02:30:18ID:???
>>85
「言語として速い」って意味ワカンネ
インタプリタの速度の事言ってる?
0088nobodyさん
垢版 |
2006/10/25(水) 02:44:37ID:???
PHP なんかに信者がいるとは思ってなかったがやっぱりいるんだねえ。
アホにも使えるのはある意味利点だが、
ほかのいいものを知ろうとしなくなるというのは大きな欠点だ。
0089nobodyさん
垢版 |
2006/10/25(水) 02:52:46ID:???
彼らにはPHPが唯一無二の存在だから尚更その傾向が強いんだろうね。
昔はPerl使いにもそういう奴がいたんだろうけどWEB用途でのPerlが廃れていくにつれ
減少するかPHPに流れるかしてしまった。
0090nobodyさん
垢版 |
2006/10/25(水) 02:52:53ID:???
>>85
じゃあmod_phpはコンパイル飛ばさないの?w
0091nobodyさん
垢版 |
2006/10/25(水) 02:57:17ID:???
マジレスすると飛ばさないよ。だからコードの制約がゆるい。
浮くコストはインタプリタ読み込みの部分。
0092nobodyさん
垢版 |
2006/10/25(水) 02:58:52ID:???
>>72に聞けよ
言語そのものの処理速度(=モジュールかCGIかに影響されない速度)
ということじゃねーの?

phpとperlを同じ条件で較べろと言ってるんだから、そうするとしたら、
コンパイル作業込みの一回目で計測しなきゃおかしいだろ。で、この場合、
リンク先によるとphpのほうが速いってことになる
同じくコンパイルをスキップした速度を較べるなら、phpAとかと
較べなきゃオカシイってことになるだろ
ちなみにこのphpA、普通のphpの四倍くらいで動くらしいから、
phpよりちょっと速いくらいのmod_perlなんか比較にならないだろ

ようするにおれが言いたいのは、perl厨は屁理屈と嘘ばっかり言いやがって、
馬鹿じゃねーのかってことだよ
うっかり騙されるとこだった
0093nobodyさん
垢版 |
2006/10/25(水) 03:03:47ID:???
>>92
屁理屈こねてるのはどう見ても貴方です。本当にありがとうございました。
0095nobodyさん
垢版 |
2006/10/25(水) 03:06:30ID:Dq5Ab1kn
perl厨晒しage
0096nobodyさん
垢版 |
2006/10/25(水) 03:07:37ID:???
つか誰一人ベンチマークとかやらないのね
0097nobodyさん
垢版 |
2006/10/25(水) 03:08:33ID:???
php厨が自爆するスレはここですか?
009972
垢版 |
2006/10/25(水) 03:38:59ID:???
>>92
まず根本的に、異なるテンプレートエンジンで言語速度を比べることは出来ない。
それとPHPAの動作原理を理解して欲しい。毎回描画計算するアセンブラより早くなるケースがいくらでもある。

>コンパイル作業込みの一回目で計測しなきゃおかしいだろ。
forkするだけのCGIでの比較はバイトコード変換〜実行完了までの純粋な速度を算出出来る。

純粋な処理速度を出したいのならπの計算などを
http://homepage3.nifty.com/hippo2000/perltips/phpperl.htm
のような計測方法でやればいい。

perl厨は屁理屈と嘘ばっかり、自分は絶対に正しいという固定概念を取り払って
冷静に考えてみるのがよろしいかと。現状は議論するに値しない
0100nobodyさん
垢版 |
2006/10/25(水) 04:16:51ID:???
mod_perlはファイルが更新されていなければ(設定次第だけど)
コンパイルを飛ばす(メモリにコンパイル済みのプログラムを保持してる)ので結構早い
mod_phpは毎回コンパイルする
だから単純に考えるとmod_perl>mod_php?
だけど共有鯖だとセキュリティがだめ

CGIの場合
perl,phpともにプロセス起動のオーバーヘッドがあるから速度はもちろんapacheのモジュールより遅い
どっちも大して違わないからCGIとして使うとperl=php?


まあapache使わずにアセンブリでHTTP鯖書くのが一番早いってこった
0101nobodyさん
垢版 |
2006/10/25(水) 09:47:34ID:???
>>96
以前、abではベンチ取った事があるんで今更かなと。

php信者にベンチ取って貰った方が楽しめそうだし。
言語(インタプリタ)の処理速度がとか言いつつ、テンプレートエンジンの比較をしたリンクを
持ってくるあたり、十分期待できる。w
0102nobodyさん
垢版 |
2006/10/25(水) 15:10:06ID:???
速度速度って、サーバ分散すりゃいいじゃん。
というか、そんな微々たる差なんてのはプログラムの組み方が悪い時のボトルネックを追い抜くことゼッタイないし。
PHPもPerlでも組み方次第でどうとでもなるし。
アプリケーションの特性によってボトルネック部分は変わってくるし。
言語なんて関係なくね? JavaだろうがCだろうが、悪い書き方したらとんでもなく遅くなって使い物にならなくなるし。
ふつーに考えて速度よりも保守性が大切になることのが多いし、遅かったらプロファイリングなりベンチマークなりでもして
該当個所だけ改善すればいいんじゃ?

おまえらいつまで馬鹿みたいなこといいあってるんだ?
0103nobodyさん
垢版 |
2006/10/25(水) 16:15:46ID:???
言語の速度を議論しているスレで
> 言語なんて関係なくね?
だとさ。
勝手に分散スレに行ってくれよ。
0104nobodyさん
垢版 |
2006/10/25(水) 19:27:41ID:???
オラオラオラー おまいら能書きばかりでちゃんと計測してんだろうな。
オラオラオラー >>38をPerlが得意とするコンソールで実行して何分かかったんだ?あ?
オラオラオラー Perlみたいな糞遅いもんの測定には右下の時計で十分すぎるな。
オラオラオラー >>38はPerlの遅さを証明する氷山の一角に過ぎないからな。
オラオラオラー 悔しかったら速いコード書いてみろよ。
オラオラオラー どうせできないだろうけど。ウププ
今日のところはこれくらいで勘弁しといちゃるからもういっていいぞ。
0105nobodyさん
垢版 |
2006/10/25(水) 19:56:04ID:???
>>99
おまいのレスを見ながらいちいちググってみたけど
結局何が言いたいのかさっぱりわかんねぇ

モジュールでも、コンパイル済みでも、cgiでも結局phpのほうが
速いのに違いはないんだろ?

なにがphpAの仕組を理解しろ、だよ
二回目以降はコンパイルすっ飛ばす点じゃmod_perlと一緒だろ
アセンブラより速いんだったら大いに結構じゃねーか
0106nobodyさん
垢版 |
2006/10/25(水) 20:27:15ID:???
最近あんまベンチとってなかったので調べてみたら予想以上にPHP速いね。
PHP4の最初の頃に調べたときは何をやってもPerlより遅いみたいな印象だったけど
最新のだと空ループや正規表現までPerlを追い越してる雰囲気。
あるいはPerlが肥大化で遅くなった?
ハードで簡単に解決できないPHPよりPerlのほうが100倍速いみたいなの今でもある?
進歩が止まったものは追い越される運命なのか。。。
0107105
垢版 |
2006/10/25(水) 20:36:55ID:???
すみません、自己解決しました。
0108nobodyさん
垢版 |
2006/10/25(水) 21:02:14ID:???
自己解決されちゃったよw
0109nobodyさん
垢版 |
2006/10/25(水) 22:12:06ID:???
ベンチマークの取り方にもよるけど、おおむねPerlの方が速い。
ただし、mod_phpとかのウェブのアプリケーションサーバとしての速度になると単純な速度比較は出来なくなる。
0110nobodyさん
垢版 |
2006/10/25(水) 23:34:35ID:???

結局はプログラミングスキルの方が重要なんだけどね。
0111nobodyさん
垢版 |
2006/10/26(木) 22:49:10ID:???
Perlのほうが速いと思っていたようなのまでPHPのほうが速いんだけど。
どーゆーことさ。。
$i = 10000000;
while ($i--) {
$x = $i * 2;
$y = $i / 2;
$z = $i << 1;
}
0112nobodyさん
垢版 |
2006/10/26(木) 23:30:00ID:???
perlのほうが処理が速いっていうのは、
全然根拠のないデマだよ。
0113nobodyさん
垢版 |
2006/10/27(金) 01:20:45ID:???
速度気にしてもあまり意味無いけど
PHP5>Perl5>PHP4かな。
Perl6は遅いんですよね?
0115nobodyさん
垢版 |
2006/10/27(金) 03:32:16ID:???
PHP4は論外として、PHP5.1は確かにかなり速くなった。
>>111のような単純ループはPerlと大差ないか、むしろ速いかも。
しかし、PHPの最大の問題はその言語仕様の貧弱さ。
配列も連想配列も同じ扱いだから、配列操作が遅い。
>>111のコードを、
$i = 10000000;
$arr = array()
while ($i--) {
$x = $i * 2;
$y = $i / 2;
$z = $i << 1;
$arr[] = array($x,$y,$z);
}
と変えると途端にPerlより圧倒的に遅くなる。
もうひとつの問題はメモリの使用量。
上のようなコードをPerlと比べると数倍消費する。
0116nobodyさん
垢版 |
2006/10/30(月) 16:45:13ID:???
perl、php比較スレってマジレス傾向になるとスレが盛り上がらなくなるな。
0117nobodyさん
垢版 |
2006/10/30(月) 23:31:42ID:???
自分で速度比較も出来ない馬鹿の集まりだからな
0118nobodyさん
垢版 |
2006/10/31(火) 00:58:50ID:???
文字列をゴリゴリするならPerl
呼び出してすぐ終わるならPHP
なんとなく気が向いたらRuby
ソフトバンクのMNPシステムならN88-BASIC
0119k ◆WFGp1NZuiw
垢版 |
2006/11/03(金) 08:51:26ID:YXjRlHj6
CGI に対する mod_perl の利点ってコンパイルの省略以外に,共有メモリを使っ
た複数リクエスト間でのデータの共有が考えられると思うんですが,これがあ
まり話題にならないのは何故なんでしょうか?

いくらスクリプト言語でも,計算より I/O の方が "桁違い" のオーダーで遅い
んだから,重要だとおもうんですが.
0120nobodyさん
垢版 |
2006/11/03(金) 09:37:51ID:???
それは一般的に言われている共有メモリとはちょっと違うと思うよ。preforkだと同じプロセス間だけだし。
Perl/CGIからでも利用できる共有メモリモジュールがあるしPHPにもshmop関数がある。
0121k ◆WFGp1NZuiw
垢版 |
2006/11/03(金) 11:42:00ID:???
>それは一般的に言われている共有メモリとはちょっと違うと思うよ。
いえ,一般的な共有メモリのことです.

mod_perl になって常駐するようになれば,共有メモリ使って prefork の子プ
ロセス間でデータを共有できるようになりますよね?

>Perl/CGIからでも利用できる共有メモリモジュールがあるし
CGI だと毎回プロセスが終了しちゃうから意味無いよー.
0122nobodyさん
垢版 |
2006/11/03(金) 12:49:31ID:???
意図的にデストラクトしないから再び同じプロセスを利用したときに再利用出来るという永続化の利点であって
一般的に共有メモリと聞いて連想するCのshm関数等とは全く性質が違うと思う。

>CGI だと毎回プロセスが終了しちゃうから意味無いよー.
共有メモリに入ってるデータは呼び出し元に関わらず自分で解放するまでは残ったままだよ。
なので敢えてCGIと書いた。

最大maxclientsの数だけ確保しなきゃいけないのだからそれほど効率良くないと思う。
2chもdatを共有メモリに置いてると聞いたけどどういう方法でやってるのかな。
0123k ◆WFGp1NZuiw
垢版 |
2006/11/03(金) 12:59:47ID:???
>共有メモリに入ってるデータは呼び出し元に関わらず自分で解放するまでは残ったままだよ。
あー,そうですね...とんちんかんなこといってた.

>最大maxclientsの数だけ確保しなきゃいけないのだから
これよく分からないんですが,何の確保の事でしょうか?
0124nobodyさん
垢版 |
2006/11/03(金) 14:29:04ID:???
例えば1MBのデータを使い回すとして
IPC::ShareLite等なら1MBの共有メモリだけで済むけど
mod_perlだけでやろうとしたら予測されるapacheのプロセス数×1MB必要でしょ。
0125nobodyさん
垢版 |
2006/11/03(金) 14:40:01ID:???
ご主人様、それはわかっております。
0129nobodyさん
垢版 |
2006/11/21(火) 16:07:03ID:???
mod_phpの方がパフォーマンス高いのは意外だったな。
PHPは5.1で2倍くらいに速くなってたか。
0130nobodyさん
垢版 |
2006/11/23(木) 02:31:34ID:???
ごく単純な処理だけならPHPの方が起動にコストがかからずに早い。処理が複雑になると、Perlに勝てなくなる。
レスを投稿する


ニューススポーツなんでも実況