自作CGIを評価するスレ (672レス)
自作CGIを評価するスレ http://medaka.5ch.net/test/read.cgi/php/1049514428/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
145: ◆YHmsETNOS2 [sage] 03/04/09 04:42 ID:??? >>138 > myとかの使い方覚えたほうがいいかも わかりました。勉強します。 > PHPもいいかもよ perlと心中しまつ。 > ファイルをアップロードするわけでもないんだし いやいや、今後画像をあぷすて貼り付けるつもりなので。。。 いつになるかわかりませんが。。。。。 >>144 うわぁ、ソースが綺麗でつ。 でも、動きません。。。。。 ローカルでは「ページを表示できません」で動きませんし、 サーバにあげてみた所、最初の画面は表示するものの、 情報のリンクのところが http://サーバー名/$script?action=1&rev=1&n=0 って、$script そのままでつ。 結果は404でつ。 自分でも調べてみまつ。 http://medaka.5ch.net/test/read.cgi/php/1049514428/145
146: 71 [sage] 03/04/09 04:57 ID:??? >>145 動かしてないからねぇ(w 穴ありまくりであろうかと http://medaka.5ch.net/test/read.cgi/php/1049514428/146
147: nobodyさん [sage] 03/04/09 09:53 ID:??? > そういえば、さっきmyとmyなしでベンチマークを行ったら > myの方が3,4倍遅かったのだけど…。メモリ消費は解らない。 根拠を示さずに結果だけ取り出して言われても…。誤解されないかな? my の何のベンチマークを行なったの? ループ・ブロック内で変数を宣言して、そのオーバーヘッドを測っていた なんて事はないよね?それとも、ホントに変数の参照・代入が3〜4倍もかかったりした? http://medaka.5ch.net/test/read.cgi/php/1049514428/147
148: nobodyさん [sage] 03/04/09 10:12 ID:??? >>142 myのほうが遅いというのはちょっと信じがたいな。 ブロック外から参照される必要がないからシンボルテーブルにも 登録されないし、むしろ速くなるはずだが・・・ http://medaka.5ch.net/test/read.cgi/php/1049514428/148
149: ◆YHmsETNOS2 [sage] 03/04/10 04:22 ID:??? >>146 $html =<<'EOT'; を $html =<<"EOT"; でOKでした。 なお、ローカルで動かない件は、cgi-lib.pl へのパスが違っていたというアフォが原因。 http://medaka.5ch.net/test/read.cgi/php/1049514428/149
150: 71 [sage] 03/04/10 05:35 ID:??? >>149 シングルクオートよくやっちゃうんですよ〜(w 動いてよかったです http://medaka.5ch.net/test/read.cgi/php/1049514428/150
151: nobodyさん [sage] 03/04/10 06:38 ID:??? cgi-bin.pl って 確か、CGI.pmがサポートしてたはず・・・ 標準モジュールだよ。 use CGI qw(:cgi-bin); http://medaka.5ch.net/test/read.cgi/php/1049514428/151
152: 71 [sage] 03/04/10 06:41 ID:??? >>151 自分で処理を書くもんでねぇ・・・ http://medaka.5ch.net/test/read.cgi/php/1049514428/152
153: nobodyさん [] 03/04/10 10:43 ID:ljl/7aqx ベンチマーク取って見たけど…明らかに my を使った方が高速。 -w と use strict 外して my も何も付けない場合とか、 our も試して見たけど。速度的には my < our < local って順番だったよ。 #! perl -w use strict; use Benchmark qw(:all); my $count = 100; my $code1="my \$code=1;"; map{$code1 .= "\$code++;\n"}(1..$count); my $code2="local \$code=1;"; map {$code2 .= "\$code++;\n"}(1..$count); timethese(1000,{ 'Lexical' => sub {eval $code1}, 'Dinamic' => sub {eval $code2} }); ---- Benchmark: timing 1000 iterations of Dinamic, Lexical... Dinamic: 11 wallclock secs (10.60 usr + 0.00 sys = 10.60 CPU) @ 94.34/s (n=1000) Lexical: 2 wallclock secs ( 2.14 usr + 0.00 sys = 2.14 CPU) @ 467.29/s (n=1000) http://medaka.5ch.net/test/read.cgi/php/1049514428/153
154: nobodyさん [sage] 03/04/10 13:31 ID:??? >>153 追試。 --- bench --- use strict; use Benchmark; my $loop = 5000; my $code1 = 'my $code = 1;' . '$code++;' x 100; my $code2 = 'local $code = 1;' . '$code++;' x 100; timethese($loop, { '1_my' => sub { eval $code1 }, '2_local' => sub { eval $code2 } }); --- ● ActivePerl Build 522 on Win98SE Benchmark: timing 5000 iterations of 1_my, 2_local... 1_my: 4 wallclock secs ( 4.45 usr + 0.00 sys = 4.45 CPU) Global symbol "$code" requires explicit package name at (eval 5005) line 1. 2_local: 8 wallclock secs ( 7.75 usr + 0.00 sys = 7.75 CPU) ● Perl 5.005_03 on FreeBSD 4.8R Benchmark: timing 10000 iterations of 1_my, 2_local... 1_my: 6 wallclock secs ( 5.62 usr + 0.01 sys = 5.62 CPU) Global symbol "$code" requires explicit package name at (eval 10005) line 1. 2_local: 11 wallclock secs (10.92 usr + 0.02 sys = 10.94 CPU) ● Perl 5.8.0 on FreeBSD 4.8R Benchmark: timing 10000 iterations of 1_my, 2_local... 1_my: 4 wallclock secs ( 4.74 usr + 0.00 sys = 4.74 CPU) @ 2108.73/s (n=10000) 2_local: 18 wallclock secs (17.20 usr + 0.00 sys = 17.20 CPU) @ 581.55/s (n=10000) http://medaka.5ch.net/test/read.cgi/php/1049514428/154
155: nobodyさん [sage] 03/04/10 18:05 ID:??? >>121 if ( ( my $aho = $query->param('hogehoge') ) eq 'hoge') { $a =~ s/a/b/; $nazoflag .= $a; } else { # $ahoは見える。 } # $ahoは見えない。 while ( defined ( my $line = <IN> ) ) { # $lineは見える } continue { # 見える } # 見えない こういう場合のスコープについては、その制御構文の最後までに限定される。←あいまいだな… http://medaka.5ch.net/test/read.cgi/php/1049514428/155
156: nobodyさん [sage] 03/04/10 18:08 ID:??? 2行目が間違ってた。$aだとuse strictでエラーにならないから$ahoにしたんだけど、 これは、、sort用にこっそり、エラーにしないようになってるのかな。 追加、これはなかなか使える foreach my $hoge (@list) { } http://medaka.5ch.net/test/read.cgi/php/1049514428/156
157: nobodyさん [] 03/04/10 18:36 ID:ljl/7aqx >>155 質問。continue って何? http://medaka.5ch.net/test/read.cgi/php/1049514428/157
158: nobodyさん [sage] 03/04/10 18:58 ID:??? man perlsyn http://medaka.5ch.net/test/read.cgi/php/1049514428/158
159: nobodyさん [sage] 03/04/10 20:47 ID:??? ”次のループに移る前に実行されるブロック”であってる? こんな制御構文あったんだ。知らなかった。Thx >> 158 http://medaka.5ch.net/test/read.cgi/php/1049514428/159
160: nobodyさん [sage] 03/04/10 20:58 ID:??? うん。これは、nextとかを使うとき、行番号が確実に進むようにする、みたいに使う http://medaka.5ch.net/test/read.cgi/php/1049514428/160
161: ◆MvRbZL6NeQ [sage] 03/04/11 00:23 ID:??? なるほど http://medaka.5ch.net/test/read.cgi/php/1049514428/161
162: nobodyさん [ ] 03/04/11 00:36 ID:??? つまりはforの後処理か http://medaka.5ch.net/test/read.cgi/php/1049514428/162
163: ◆YHmsETNOS2 [sage] 03/04/12 20:17 ID:??? 再び。。。 すみませんがちょっと漏れのスクリプトを見てください。 前回のソートの練習に加え、ページの分割もしてみますた。 いちおう漏れの思っている動作しているのですが,突っ込むところがあれば,後学のために色々教えてください。 なお、前回指摘された “myとかの使い方” は。。。。。(^^A ソースはこちら, ttp://members.tripod.co.jp/angeldayan/test.txt 使ったデータはこちら ttp://members.tripod.co.jp/angeldayan/data.txt 要 cgi-lib.pl です。 たいしたものじゃなくてごめんなさい。 http://medaka.5ch.net/test/read.cgi/php/1049514428/163
164: 71 [sage] 03/04/12 22:26 ID:??? >>163 登録データの件数が増えるのならば sortの cmp と <=>のルーチンを考えたほうがいいかも foreach(@keys){ if($_->[$n] !~ /^\d*$/){ $num_flug =1; last; } } データ量増えていくと、cmpを使う場合処理が遅くなる。 if($n= 4){ if($rev){ @keys = @keys[ sort {$keys[$b]->[$n] <=> $keys[$a]->[$n]} 0 .. $#keys ]; }else{ @keys = @keys[ sort {$keys[$a]->[$n] <=> $keys[$b]->[$n]} 0 .. $#keys ]; } }else{ if($rev){ @keys = @keys[ sort {$keys[$b]->[$n] cmp $keys[$a]->[$n]} 0 .. $#keys ]; }else{ @keys = @keys[ sort {$keys[$a]->[$n] cmp $keys[$b]->[$n]} 0 .. $#keys ]; } } みたいな感じかになろうか・・・ http://medaka.5ch.net/test/read.cgi/php/1049514428/164
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 508 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.008s