bbs.cgiの開発作業をすすめていくためのスレッドです。
FOXさんの努力によりSpeedyCGIへの対応が行われ、
パフォーマンスの向上が図られたbbs.cgi。
・さらなるカスタマイズ
・パフォーマンスの向上
・微妙な虫取り
・残された秘境エリアの開拓
あたりをターゲットに。
前スレ:
bbs.cgi再開発プロジェクト7
http://qb5.2ch.net/test/read.cgi/operate/1130918407/
探検
bbs.cgi再開発プロジェクト Part8
レス数が950を超えています。1000を超えると書き込みができなくなります。
1root▲ ★
NGNG >>955-958 subject.txt 処理の改造とかやってますた.今は直ってるかと.
2007/03/01(木) 12:46:51ID:PGooi+n50
はいはーい。
2007/03/09(金) 09:42:32ID:ijIcKlQN0
全部のサーバーでbbsdを使う方向になるんですかね?
bbsdまでのつなぎとしてsubback.htmlとindex.htmlを生成するデーモンとか考えてみたんですが
(subback部分は少し作った)
bbsdまでのつなぎとしてsubback.htmlとindex.htmlを生成するデーモンとか考えてみたんですが
(subback部分は少し作った)
IsKoukoku() でこれは効くかも...... 最初のデータロードの部分は今
@FOX_Ro54 = map { [ (split /<>/)[5,6,7] ] } <ADFILE>;
ってなってますが,これを
@FOX_Ro54 = map {
my @a = (split /<>/)[5 .. 7];
eval { no warnings; [qr/$a[0]/, @a[1 .. $#a]]; };
} <ADFILE>;
のようにすると,ロード時に regex がプリコンパイルされて,その後の処理が軽くなりそう.
さらに,regex のエラートラップもロード時に行って,IsKoukoku() 内では
eval が不要になる,と(ダメポなのだけ除外され,他の正常なのは使われます).
# eval 内でも警告は発生するので no warnings 入れてますが,-w や use warnings してなければ不要です.
安直にテストしてみると,
% perl -we'use strict; use Benchmark; open F, $ARGV[0]; our @thr = <F>; close F; \
open F, $ARGV[1]; @_ = <F>; close F; \
our @rocka = map [(split /<>/)[5 .. 7]], @_; \
our @rockb = map { my @a = (split /<>/)[5 .. 7]; eval { no warnings; [qr/$a[0]/, @a[1 .. $#a]]; }; } @_; \
timethese(1, { a => sub { foreach my $res (@thr) { no warnings; eval { $res =~ /@$_[0]/; } foreach (@rocka); } }, \
b => sub { foreach my $res (@thr) { no warnings; $res =~ /@$_[0]/ foreach (@rockb); } } });' \
alaska/dat/1147437176.dat Rock54Data
Benchmark: timing 1 iterations of a, b...
a: 42 wallclock secs (41.94 usr + 0.00 sys = 41.94 CPU) @ 0.02/s (n=1)
(warning: too few iterations for a reliable count)
b: 42 wallclock secs (41.91 usr + 0.01 sys = 41.92 CPU) @ 0.02/s (n=1)
(warning: too few iterations for a reliable count)
% perl -we'use strict; use Benchmark; open F, $ARGV[0]; our @thr = <F>; close F; \
open F, $ARGV[1]; @_ = <F>; close F; \
our @rocka = map [(split /<>/)[5 .. 7]], @_; \
our @rockb = map { my @a = (split /<>/)[5 .. 7]; eval { no warnings; [qr/$a[0]/, @a[1 .. $#a]]; }; } @_; \
timethese(1, { a => sub { foreach my $res (@thr) { no warnings; eval { $res =~ @$_[0]; } foreach (@rocka); } }, \
b => sub { foreach my $res (@thr) { no warnings; $res =~ @$_[0] foreach (@rockb); } } });' \
alaska/dat/1147437176.dat Rock54Data
Benchmark: timing 1 iterations of a, b...
a: 42 wallclock secs (41.42 usr + 0.02 sys = 41.44 CPU) @ 0.02/s (n=1)
(warning: too few iterations for a reliable count)
b: 20 wallclock secs (20.25 usr + 0.00 sys = 20.25 CPU) @ 0.05/s (n=1)
(warning: too few iterations for a reliable count)
プリコンパイルしたのを m// 内に入れるとあまり意味ないっぽいですが,
単独で使えば二倍速ぐらいになるらしいと.
ところで,
$NG_word_ref->[0] = $matched; return $NG_word_ref;
の部分は
return [$matched, @$NG_word_ref[1 .. $#$NG_word_ref]];
のようにしないと,@FOX_Ro54 の中身を改変してしまう悪寒......
削除系呪文の bbsd 対応も行われ雪だるま以外での bbsd 利用への道も開けてきたし,
T-Banana の実験が一段落したら,このあたりもぼちぼちやりましょうってことで.
@FOX_Ro54 = map { [ (split /<>/)[5,6,7] ] } <ADFILE>;
ってなってますが,これを
@FOX_Ro54 = map {
my @a = (split /<>/)[5 .. 7];
eval { no warnings; [qr/$a[0]/, @a[1 .. $#a]]; };
} <ADFILE>;
のようにすると,ロード時に regex がプリコンパイルされて,その後の処理が軽くなりそう.
さらに,regex のエラートラップもロード時に行って,IsKoukoku() 内では
eval が不要になる,と(ダメポなのだけ除外され,他の正常なのは使われます).
# eval 内でも警告は発生するので no warnings 入れてますが,-w や use warnings してなければ不要です.
安直にテストしてみると,
% perl -we'use strict; use Benchmark; open F, $ARGV[0]; our @thr = <F>; close F; \
open F, $ARGV[1]; @_ = <F>; close F; \
our @rocka = map [(split /<>/)[5 .. 7]], @_; \
our @rockb = map { my @a = (split /<>/)[5 .. 7]; eval { no warnings; [qr/$a[0]/, @a[1 .. $#a]]; }; } @_; \
timethese(1, { a => sub { foreach my $res (@thr) { no warnings; eval { $res =~ /@$_[0]/; } foreach (@rocka); } }, \
b => sub { foreach my $res (@thr) { no warnings; $res =~ /@$_[0]/ foreach (@rockb); } } });' \
alaska/dat/1147437176.dat Rock54Data
Benchmark: timing 1 iterations of a, b...
a: 42 wallclock secs (41.94 usr + 0.00 sys = 41.94 CPU) @ 0.02/s (n=1)
(warning: too few iterations for a reliable count)
b: 42 wallclock secs (41.91 usr + 0.01 sys = 41.92 CPU) @ 0.02/s (n=1)
(warning: too few iterations for a reliable count)
% perl -we'use strict; use Benchmark; open F, $ARGV[0]; our @thr = <F>; close F; \
open F, $ARGV[1]; @_ = <F>; close F; \
our @rocka = map [(split /<>/)[5 .. 7]], @_; \
our @rockb = map { my @a = (split /<>/)[5 .. 7]; eval { no warnings; [qr/$a[0]/, @a[1 .. $#a]]; }; } @_; \
timethese(1, { a => sub { foreach my $res (@thr) { no warnings; eval { $res =~ @$_[0]; } foreach (@rocka); } }, \
b => sub { foreach my $res (@thr) { no warnings; $res =~ @$_[0] foreach (@rockb); } } });' \
alaska/dat/1147437176.dat Rock54Data
Benchmark: timing 1 iterations of a, b...
a: 42 wallclock secs (41.42 usr + 0.02 sys = 41.44 CPU) @ 0.02/s (n=1)
(warning: too few iterations for a reliable count)
b: 20 wallclock secs (20.25 usr + 0.00 sys = 20.25 CPU) @ 0.05/s (n=1)
(warning: too few iterations for a reliable count)
プリコンパイルしたのを m// 内に入れるとあまり意味ないっぽいですが,
単独で使えば二倍速ぐらいになるらしいと.
ところで,
$NG_word_ref->[0] = $matched; return $NG_word_ref;
の部分は
return [$matched, @$NG_word_ref[1 .. $#$NG_word_ref]];
のようにしないと,@FOX_Ro54 の中身を改変してしまう悪寒......
削除系呪文の bbsd 対応も行われ雪だるま以外での bbsd 利用への道も開けてきたし,
T-Banana の実験が一段落したら,このあたりもぼちぼちやりましょうってことで.
>>961 んと,それは bbsd とどういう部分で違うんでしょうか?
例えば subject.txt のデータを内部的に保持して {subback,index}.html を
生成するとなると,ほとんど bbsd と同じことやるってことになりそうな......
例えば subject.txt のデータを内部的に保持して {subback,index}.html を
生成するとなると,ほとんど bbsd と同じことやるってことになりそうな......
2007/03/09(金) 13:23:37ID:ijIcKlQN0
>>963
subject.txtを読み出して、{subback,index}.htmlを生成します。
既存のbbs.cgiを完全にサボリン状態にしてこれを動かせば負荷が減るかな、と。
別にデーモンでなくてcronで呼ぶ形にしてもいいと思います。
cronは秒単位指定できないのでいろいろ面倒ですが
snowmanシステムに置き換わるならそれのほうがいいです
subject.txtを読み出して、{subback,index}.htmlを生成します。
既存のbbs.cgiを完全にサボリン状態にしてこれを動かせば負荷が減るかな、と。
別にデーモンでなくてcronで呼ぶ形にしてもいいと思います。
cronは秒単位指定できないのでいろいろ面倒ですが
snowmanシステムに置き換わるならそれのほうがいいです
>>964 なるほど......つまり bbsd のようにレスデータ等を一元管理するのではなく,
bbs.cgi とは独立して動いて,subject データはファイルから読み込むと.
アイデアとしてはおもしろいですね.まぁ,bbsd 利用を広げる上での障害は
主に削除系呪文が未対応ゆえということだったんですが,その点は今まさに解決しそうだと.
あとはいろいろ状況を見ながらぼちぼちって感じで.
bbs.cgi とは独立して動いて,subject データはファイルから読み込むと.
アイデアとしてはおもしろいですね.まぁ,bbsd 利用を広げる上での障害は
主に削除系呪文が未対応ゆえということだったんですが,その点は今まさに解決しそうだと.
あとはいろいろ状況を見ながらぼちぼちって感じで.
>>962
なるほど、正規表現のコンパイルも
出航時の一度だけにしようというアイディアですか。
もしアレな正規表現を間違って入れてしまうと、
> (ダメポなのだけ除外され,他の正常なのは使われます)
になるというside effectもあるのかな。
なるほど、正規表現のコンパイルも
出航時の一度だけにしようというアイディアですか。
もしアレな正規表現を間違って入れてしまうと、
> (ダメポなのだけ除外され,他の正常なのは使われます)
になるというside effectもあるのかな。
(´-`).。oO(bbs.cgiを眺められるのはいぃよなぁ。。。)
→ところで,
→$NG_word_ref->[0] = $matched; return $NG_word_ref;
手元の資料では、、、
my $NG_word = $NG_word_ref->[0]; # リファレンスから取り出し。
if (my $matched = eval{$In_Strings =~ m<$NG_word>}) { return $NG_word_ref } # 合致したらリファレンスを返す。
# 不正 NG ワードがあったり引っかからなければスキップ
・・・となっています。その後に手を入れたのかなぁ。。@IsKoukoku.20050605.txt
→ところで,
→$NG_word_ref->[0] = $matched; return $NG_word_ref;
手元の資料では、、、
my $NG_word = $NG_word_ref->[0]; # リファレンスから取り出し。
if (my $matched = eval{$In_Strings =~ m<$NG_word>}) { return $NG_word_ref } # 合致したらリファレンスを返す。
# 不正 NG ワードがあったり引っかからなければスキップ
・・・となっています。その後に手を入れたのかなぁ。。@IsKoukoku.20050605.txt
つ△
>>970 ん......どっか悪影響出てます?
あ、いやあのその、、、(照)
出ないことを祈りつつみたいなおまじないってことで(なにそれ)
出ないことを祈りつつみたいなおまじないってことで(なにそれ)
2007/03/19(月) 08:53:12ID:7yuBVXtp0
そうか、いいこと思いついたぞ。
未承諾サンがチョンボしたら★を付けさせよう。
未承諾サンがチョンボしたら★を付けさせよう。
それを本人の承諾なしに行う,と...... >>974
二萬
二萬
二萬
二索
三索
四索
七索
八索
九索
五筒
六筒
七筒
東
上家から東キタ━━━(゚∀゚)━━━ッ!!ロン♪
二萬
二萬
二索
三索
四索
七索
八索
九索
五筒
六筒
七筒
東
上家から東キタ━━━(゚∀゚)━━━ッ!!ロン♪
2007/03/19(月) 23:33:52ID:IIr6nvQd0
うはwww本当に送ったんだw
2007/03/21(水) 19:16:31ID:Ye3ntEmu0
私達の恥辱
同胞達、意外にもある人は1首私達の歌に関して歌って、歌詞の要点:
日本のやつは彼が人だと言って、全世界のブタはすべて笑って、
意外にも私達をののしるのが人ではありません。。。。。。。。
みんなに団結してもらうようにしましょう。。。。
どのようにの報復を話し合います:http://www.netgamelivedoor.com/online/
同胞達、意外にもある人は1首私達の歌に関して歌って、歌詞の要点:
日本のやつは彼が人だと言って、全世界のブタはすべて笑って、
意外にも私達をののしるのが人ではありません。。。。。。。。
みんなに団結してもらうようにしましょう。。。。
どのようにの報復を話し合います:http://www.netgamelivedoor.com/online/
質問・雑談スレ252@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1175082659/215
うーん。例のはなもげらの時にそうならないようにしたはずなんですが、、、。
あとでみてみるです。
http://qb5.2ch.net/test/read.cgi/operate/1175082659/215
うーん。例のはなもげらの時にそうならないようにしたはずなんですが、、、。
あとでみてみるです。
>>979
質問・雑談スレ252@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1175082659/234-235
ううむ。再現しないのかしら。
IE/Firefox/Opera等の通常のブラウザや
c.2ch.netで再現するようであれば、報告おながいします。
質問・雑談スレ252@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1175082659/234-235
ううむ。再現しないのかしら。
IE/Firefox/Opera等の通常のブラウザや
c.2ch.netで再現するようであれば、報告おながいします。
質問・雑談スレ252@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1175082659/239-247
ふむ、、、。
あらまほしき仕様から考えたほうがよさげ?
http://qb5.2ch.net/test/read.cgi/operate/1175082659/239-247
ふむ、、、。
あらまほしき仕様から考えたほうがよさげ?
1. 法的確認の文面は鼻もげらがない時だけ出して,鼻もげらはあるけどポンの(再)設定って時は
その文面でなく「荒らし対策で Cookie 〜」云々の文面だけにする.
2. 鼻もげらはあるけどポンの(再)設定って時は鼻もげら Cookie もリセットする.
のいずれかですかねぇ.
# 980 超えたので,dat 落ち注意かな......
その文面でなく「荒らし対策で Cookie 〜」云々の文面だけにする.
2. 鼻もげらはあるけどポンの(再)設定って時は鼻もげら Cookie もリセットする.
のいずれかですかねぇ.
# 980 超えたので,dat 落ち注意かな......
2007/04/04(水) 20:18:21ID://gbn83p0
ほ
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 178万円まで引き上げで、自民・小野寺氏「何で税源穴埋めするか提案して欲しい」国民民主に要請 ★8 [お断り★]
- 【スクープ】中居正広が女性との間に重大トラブル、巨額の解決金を支払う 重病から復帰後の会食で深刻な問題が発生 ★27 [Ailuropoda melanoleuca★]
- 『M-1グランプリ』20代目王者は令和ロマン「去年の倍、嬉しいです!」前人未到の連覇達成で史上最多1万330組の頂点に★4 [muffin★]
- 【芸能】眞鍋かをり「高齢者より若者にもっとお金を使ってほしい」 政府の経済対策に疑問「不公平感が」 [冬月記者★]
- トランプ氏 「日米戦争は自分とシンゾーだったら起こらなかった」 ★2 [お断り★]
- 「あと何十年、こんなに苦しまなければいけないのか」 日本人女性と結婚しても「在留許可」認められず…スリランカ人男性(東京地裁) [少考さん★]
- 【悲報】女子「男はバッグ持たないで。」 [986198215]
- 【悲報】国民民主党「ふむ、所得税引き下げる代わりに『地価税』を導入すればいいのでは🤔」 [616817505]
- 🏡が無い😭
- 【悲報】斎藤元彦陣営のネット広報担当会社が投稿したnoteで騒然★308 [641980297]
- 頑なに他人にスマホ触らせない奴wwwww
- 【速報】5ちゃんねる公式アプリ、配信開始キタ━━━━(゚∀゚)━━━━!! [616197217]