■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
プログラマが2chを救う!?
- 408 :デフォルトの名無しさん :2001/08/26 05:58
- >>404
いや、怖いのはdatの破壊。
書き込み途中で死なれると大抵は不正なdatになる。
ま、変更なしならそれでいいか。
- 409 :デフォルトの名無しさん :2001/08/26 05:58
- 今のコードってかなり可読性低いよね・・・・・・
- 410 :316 :2001/08/26 06:01
- >>407
UNIX板の「read5.01.xx.c」に+5しています。
混乱しないようにこちらは「read10.01.xx.c」にしたのですが。
- 411 :がいしゅつですが :2001/08/26 06:01
- 2ちゃんねるWikiを開設しました。
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?TopPage
このサイトは一度書き込んだレスを後から修正したりできるので
修正案などをまとめるための資料置き場として使ってください。
- 412 :デフォルトの名無しさん :2001/08/26 06:02
- とりあえず、タイムスタンプがなおった?
- 413 :デフォルトの名無しさん :2001/08/26 06:03
- >>406
ふつうに考えて非圧縮状態より負荷高くなることはないだろう。
lastmodifyチェックも入っているわけだし。
そのへんは本格運用後にプロファイルされるんではないかなあ。
- 414 :デフォルトの名無しさん :2001/08/26 06:03
- >>407
漏れは、
read5.01-amppatch.c
read4-blank.c.25
read4.c
の順かな。
ただまだfeed-backしてないから困ってないが。
feed時には、read4-blank.c.25の差分を考えている。
- 415 :デフォルトの名無しさん :2001/08/26 06:09
- >408
以前手元の環境(Linux+Apache)で調べたときには、特に何もSignalは
送られてこなかったと思う。ここの鯖も同じであれば、中止ボタンが
押されたことによってdatが壊れるってことは無いんじゃないかな。
実際にここの鯖で検証してみないとなんとも言えないけど。
- 416 :369 ◆3XTuRnAc :2001/08/26 06:11
- ということで、うちのサーバーではそろそろ
作業ベースとして怪しくなってきたと思います。
あとは、Wikiページにお任せしたいのですがどうでしょうか?
- 417 :デフォルトの名無しさん :2001/08/26 06:18
- >>415
http://www.coe.tamu.edu/cs/apache/mod_perl/CHANGES
http://perl.apache.org/guide/debug.html
あたりみて気になったさ。
ただ、mod_perlなのが気になる。が、英語がよくわからん(泣。
2chはApache 1.3.6なのできみんとこと同じなら平気なはず。
- 418 :411 :2001/08/26 06:19
- >416
Wikiはテキスト貼るだけでファイルは置けないんですがどうしましょう?
現状ソースの中身を全部コピペするか別サーバに移転するしかないです。
- 419 :デフォルトの名無しさん :2001/08/26 06:27
- いまさらだが、Makefileあぷ。
ex) ソースがread4.cの場合
$make read4.cgi
ex) ソースがr4.cの場合
$make r4.cgi
---- Makefile
.SUFFIXES: .c .cgi
CC=gcc
#CC=cc
CFLAGS=-DLASTMOD -DGZIP
.c.cgi:
$(CC) $(CFLAGS) $< -o $*.cgi ←頭はTABね。
----
- 420 :ななしさん@通信技術 :2001/08/26 06:28
- >>415
openする前に、データベースを格納したファイルから、PIDから一意に生成されるパス
名に対してhard linkを張っておくといいですよ。
で、シグナルハンドラにはそれらのリンクを適切に解消するルーチンを書いておけば
OKだと思います。同じ原理で2層ロックも実現できるかと。
あと、プロセスが起動したときに、タイマーで自分自身にシグナルを送るようにして
なんとなくウオッチドックすればサーバにやさしいかもです。
- 421 :デフォルトの名無しさん :2001/08/26 06:28
- あ、次からsageでかこ。
- 422 :デフォルトの名無しさん :2001/08/26 06:30
- いっそSourceForgeを使うのは……。
http://sourceforge.net/
鶏に牛刀の類っすかね。
- 423 :名無しさん@ミポリソ@UNIX板 :2001/08/26 06:33
- >>419
CFLAGSには まぁ -O? とかの最適かもあるけど とにかく -Wall は
付けといた方がいいね
- 424 :デフォルトの名無しさん :2001/08/26 06:34
- >>423
-Oは、-O2がいいんかな?
- 425 :最新ソースを一応どぞ :2001/08/26 06:54
- http://star.endless.ne.jp/users/forcount/contents/scriptmaker/read11.c
最新版情報は
http://star.endless.ne.jp/users/forcount/4countbbs/scriptmaker/index.html
重要なのは前者
- 426 :デフォルトの名無しさん :2001/08/26 06:55
- 修整版あぷ
---- Makefile
.SUFFIXES: .c .cgi
CC=gcc
#CC=cc
CFLAGS=-DLASTMOD -DGZIP -Wall
.c.cgi:
$(CC) $(CFLAGS) $< -o $*.cgi ←頭はTABね。
----
最適化はターゲットプラットフォームがわからんので
不安なので、誰かまかせた(w。
変更点は-Wallを追加。gccでなくて-Wallが通用しない人ははずしてけれ。
- 427 :名無し娘。 ◆vP.bOZFQ :2001/08/26 06:58
- >>425
unix板の方では、これが最終のリリースになるはずです。
今後はこことWikiが作業スペースということで。
- 428 :369 ◆3XTuRnAc :2001/08/26 07:03
- あと、作業用に使用していたサーバースペースにつきましてはftpポートを閉じましたので
作業用スペースとしてはwikiと>>425さんのページがベースになると思います。
- 429 :デフォルトの名無しさん :2001/08/26 07:06
- とりあえずindent -kr通さない?
- 430 :デフォルトの名無しさん :2001/08/26 07:10
- あのぉ、
ふと思ったんですが、
帯域を下げるには、
read.cgiのパフォーマンスを下げればいいのでは…。
- 431 :デフォルトの名無しさん :2001/08/26 07:17
- sleep (3)をいれろと?
- 432 :デフォルトの名無しさん :2001/08/26 07:19
- サーバー過負荷で落ちちゃうのは、やっぱり不味いでしょ。
帯域の件はサーバ止めたり、read.cgiの実行を減らすなどで対処する問題。
ちょいと別問題。
- 433 :デフォルトの名無しさん :2001/08/26 07:20
- それならサーバーで帯域制限すりゃいーじゃん。
- 434 :デフォルトの名無しさん :2001/08/26 07:25
- cgiなりネットワークの帯域制限なりでパフォーマンスを落とすのは、
2chが「夜でも快適なサーバ」である事を売りにして広告を出している
Big-Serverの要求に反する。
つーか過去ログ見たか?
- 435 :デフォルトの名無しさん :2001/08/26 07:27
- 救われましたな。
- 436 :415 :2001/08/26 07:39
- >417
mod_perlはある意味CGIとは呼べないからなぁ。
何があっても不思議ではないっす(笑
>420
んん、その説明だとHard linkを張るメリットが無いような…。
俺がバカ? もしお暇なら詳細説明きぼー。
うーむ、板違いか…。
- 437 :デフォルトの名無しさん :2001/08/26 07:51
- スキルの高い方知恵を貸してください2号 @Web製作板
http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537&st=6&to=6&nofirst=true
ある程度まとまっているようです。また新しくまとまればきます
【現状の提案】
・表示色関係は各ユーザーにまかせる
・説明がきを別にする
・altは無し
・自動リンクを外す
・リンク部分を極力なくす(・index2.htmlの「■▲▼」廃止 )
・<body>にする
・タグは小文字に統一(関係なし)
・GZIPで圧縮のしやすいよう、出来るだけパターンがあると良い
・タグは極力短縮する
・対応ブラウザなどに関しては諦めも肝心
・転送量を減らすため、ユーザーに画一的な情報はキャッシングさせると尚良いかも
・クッキーを無くす (←有無両意見アリ)
・<pre>の使用 (←最後の手段)
・sage age の簡略化
・tdとかの要素にCSSをhead内で宣言
・<br>廃止
・TEXTAREA 等のsize=?を小さく
・スレッドをtableで囲うのをやめてスレッドをhrで区切る(最後の手段2)
・<B>タグと<FONT>タグとりあえず消してみよーよ。
・CSS → ブラウザによる環境悪化が無く、下位互換性があり、転送量が減るのなら歓迎します。
・巡回ロボットお断り→ロボットも客。やるなら /robots.txtに書いてサイト全体に適用
・ふぉれすとぐり〜ん → #282
【表示関連】
・名前表示 名無し 01/08/26 00:00
・レス取得 最新50 レス1-100
・age sage 「+,-」「^,_」「↑,↓」「a,s」
・フォーム post name mail
【呼びかけ】
・話題のループ防止のためレスを全部把握しておく
・純正以外の看板画像は別鯖なのでトラフィックに問題なし
・<pre>は仕様が決定後に検討
- 438 :デフォルトの名無しさん :2001/08/26 08:12
- 1Byteでも減らしたいところ悪りぃけど、曜日出してくんないかなー。
仕事行かなきゃいけない日かどーかわかんなくなるから。(藁
あと、s/[A-z]/[A-z]/g とかやってもいーんじゃないの?
- 439 :デフォルトの名無しさん :2001/08/26 08:23
- >s/[A-z]/[A-z]/g とかやってもいーんじゃないの?
いいね、検索しやすくなるし。
- 440 :デフォルトの名無しさん :2001/08/26 08:34
- 曜日残して欲しいのは同意。
ログ読んでていつが週末かわからなくなるのは辛いものがある。
- 441 :sage :2001/08/26 08:36
- 名前表示→ 名無し 01/08/26/日 00:00
でよいと思われ
- 442 :デフォルトの名無しさん :2001/08/26 08:37
- >>438-439
ひょっとして
y/[A-Z]/[a-z]/
ていう意味?
- 443 :デフォルトの名無しさん :2001/08/26 08:42
- 全角半角
- 444 :デフォルトの名無しさん :2001/08/26 08:43
- >442
どっちにしてもレス付ける内容では無いと思われ。
- 445 :aki :2001/08/26 08:47
- おはようございます。出かける前に確認応答。
本家ftp鯖が止まったようなので、ミラーの更新の方は止めました。
ファイルの方はまだ残しておきます。
ああ、日曜なのに講習会だ。鬱氏。
- 446 :デフォルトの名無しさん :01/08/26 08:48
- >>aki
お疲れさま
がんばってください。
- 447 :無知な人 :01/08/26 08:56
- 批判要望板から来たんですが、
WEBデザイン板ってここですか?
「2001/08/26」→「01/08/26」にして
「名前:」「投稿日:」を削除して下さい。
- 448 :デフォルトの名無しさん :01/08/26 09:04
- >>447
http://natto.2ch.net/hp/index2.html
こっちの、スキルの高い方知恵を貸してください* ってやつです。
私は、
「123 名無しさん 01/08/26/日 08:12」
って感じがいいなぁと思ったり。
- 449 :デフォルトの名無しさん :01/08/26 09:09
- ソースをちょっと眺めて、細かい事だけど。
main()の中の
zz_fileSize = getFileSize(fname);
はいらないね。
zz_fileLastmod = getFileLastmod(fname);
を加える時に混じったんだと思う。
(もちろん、getFileStatus(const char *fname)みたいなのを作って
stat()の呼出を1回にしたほうがいいけど。)
それと、やっぱHTTP的には
printf("Status: 304 Not Modified\n");
の方が良いと思う。数バイト増加するけど。
- 450 :デフォルトの名無しさん :01/08/26 09:14
- http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537&st=53&to=55
にパッチがあるね
- 451 :デフォルトの名無しさん :01/08/26 09:15
- http://natto.2ch.net/test/read.cgi?bbs=hp&key=998774537&st=54&to=56
だった…ウトゥ…
- 452 :プログラマーさんありがとう!! :01/08/26 09:24
-
2ちゃんを救うためにがんばってくれたプログラマーさんに
お礼が言いたいです!!
みんなのために本当にありがとうございます!!
- 453 :デフォルトの名無しさん :01/08/26 09:28
- いま現在も色々いじってるみたいだな。
「レスを全部読む」が100レスごとになったし。
- 454 :泣きました・・・・ :01/08/26 09:33
-
2ちゃんのために、こんなにがんばってくれるなんて・・・
私馬鹿でなんにも分からないけど2ちゃんがなくなって悲しいと思っている人たち
のために・・・・・
感動して泣きました・・・本当に、本当に、ありがとう・・・・・!!
- 455 :デフォルトの名無しさん :01/08/26 09:36
- ガイシュツかなあ。
なんでprintf多用してるんだろ。ある程度まとめるなり(可読性の問題もあるけど)
フォーマットを使用しないのはputsに置き換えるなり、すればいいのに。
関数呼び出しのコストだってバカにならないと思うんだけどな。
- 456 :デフォルトの名無しさん :01/08/26 09:37
- >>454
スマソ、ワラタ。
- 457 :455 :01/08/26 09:39
- ごめん、ガイシュツだった。
- 458 :デフォルトの名無しさん :01/08/26 09:55
- ■掲示板に戻る■ レスを全部読む 最新レス100
スキルの高い方知恵を貸してください2号
132 名前:Name_Not_Found 投稿日:01/08/26
09:38
>>98
デフォルトは全ての板で当面「名無し」か「名無」あたりにして、視認性の問題から<FONT>タグは残し、
128 名無 010826日 09:25
にするのはどう?
スラッシュ無しだと結構見辛いけど、
日付で過去のレスを探したい場合も、曜日を目安にスクロールしていけば、なんとか耐えられる。
133 名前: 投稿日:01/08/26 09:45
視認性まで犠牲にしてどれだけのメリットがあるんだよ、馬鹿?
日付の/を無くすなんて笑い話だ。
134 名前:Name_Not_Found 投稿日:01/08/26 09:48
半角/全角の違いやスペースでも転送量は増減するの?
128 名無し 010826日 09:25
ではどう?
- 459 : :01/08/26 10:08
- web板信じれられないレベルの低さ、、、
- 460 :デフォルトの名無しさん :01/08/26 10:15
- Web板はネット同人女の溜まり場だからな。
スキルに期待するのは間違ってる。
- 461 :デフォルトの名無しさん :01/08/26 10:22
- まぁまぁ今は他人の批判してもめる余裕なんて無いのだから、抑えておこうよ。
- 462 :デフォルトの名無しさん :01/08/26 10:23
- で、書きなおしませんか?
仕切る人1人にしないと混乱するから誰かやんない?
- 463 :デフォルトの名無しさん :01/08/26 10:28
- そうなんだよね。
誰かコテハンで仕切ってよ。
- 464 :デフォルトの名無しさん :01/08/26 10:31
- Wikiの方はなんだかうまく動かないな
w3mだからかな?
- 465 :デフォルトの名無しさん :01/08/26 10:33
- そもそもさ、TABLEタグを利用しているのが重い原因なんじゃないの?
TABLEタグ使わなくても見やすいレイアウトにする工夫を。
- 466 :デフォルトの名無しさん :01/08/26 10:33
- Web板ってナニ考えてるの?
必要なものを削ってドウスルンダヨ!
- 467 :デフォルトの名無しさん :01/08/26 10:33
- Wikiはプログラムソースを貼り付けるもんではないと思われ。
- 468 :デフォルトの名無しさん :01/08/26 10:34
- HTMLの話はどうでもいい
- 469 :初学者26 :01/08/26 10:35
- >>38
変化はとっても勉強になります。
今回は口を挟むスキルに達していないのが残念でなりませんが,
少しでも2ちゃんねるのお役に立てるように勉強したいです。
- 470 :デフォルトの名無しさん :01/08/26 10:36
- /_ |
/. \ ̄ ̄ ̄ ̄|
/ / ― ― |
| / - - |
||| (6 > |
| | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | ┃─┃| < 正直、救って欲しい。
|| | | | \ ┃┃┃/ \________
| || | |  ̄  ̄|
- 471 :初学者26 :01/08/26 10:40
- 「最初のレス100」というのを追加して欲しいです。
最初から全部見たいときに「レスを全部読む」しかできないので。
時間によるアクセス制限時は強制的にそうなりますが,デフォルトでも
そういうコマンド(釦?)も欲しいです。少しは足しになりますか?
- 472 :aki :01/08/26 10:40
- >>464
version w3m/0.2.1では試してみたんですが、書けてる見たいです…。
発言内容に依存してるのかも。
- 473 :名無し :01/08/26 10:45
- UNIX板より
431 名前:原住民 :01/08/26 10:42
むむ、制限時間過ぎてもスレ全体を一括読みできない原因発見...
zz_GetEnv()と get_lastmod_str() の両方で gmtime()使ってるぞ!!
static領域に結果置いておくだけだから上書きされちゃうんだよね...
- 474 :デフォルトの名無しさん :01/08/26 10:45
- >>471
これ同意。
レス50個単位とかで前後できるリンクもいつもあった方がいいね。
でも、激しくスレ違いな気がするYO!
- 475 :デフォルトの名無しさん :01/08/26 10:45
- >>472
こっちも0.2.1です。
ソース全体をpreで囲わないのはこういうものなんですか?
あと、編集ボタンを押すとソース内のタグがescapeされないのもこういうもんかな?
- 476 :デフォルトの名無しさん :01/08/26 10:48
- ごめん、寝る。
- 477 :名無しさん@ミポリソ@UNIX板 :01/08/26 11:08
- >>473
とにかくグローバル変数の使い過ぎで関数の独立性が損なわれてるね
グローバル変数である必要がないものはローカル変数にした方がいいね
あと
int get_lastmod_str(time_t lastmod){
- strftime(lastmod_str, 1024, "%a, %d %b %Y %H:%M:%S GMT", gmtime(&lastmod));
+ strftime(lastmod_str, 1024, "%a, %d %b %Y %H:%M:%S %Z", localtime(&lastmod));
int zz_GetEnv(void)
{
currentTime = (long)time(&t_now);
time(&t_now);
- t_now += 9*60*60;
- tm_now = gmtime(&t_now);
+ tm_now = localtime(&t_now);
にして If-Modified-Since の判定もApacheのap_parseHTTPdate()みたいなの
使ってちゃんとtime_tにパースしてから比較した方がいいね
あと これは実現可能性の面が問題だけど 仮にCGIをApacheモジュールの
形に書き換えてApache2.xの上で動かすとなると マルチスレッド対応と
いうことで 各関数をreentrantにしておいた方がいいのかもね
その意味からも グローバル変数やstatic変数の利用はできるだけ
避けた方がいいと思う
- 478 :デフォルトの名無しさん :01/08/26 11:08
- タグの短縮も重要だが、
read.cgi に渡される bbs, key, st, to なども1文字に短縮して、
read.cgi 側で新旧どちらにも対応すれば index2 あたりでは
100文字を超える節約になるのでは。
- 479 :478 :01/08/26 11:12
- zz_GetString あたりの処理を簡略化して、
b で始まっていたら bbs, k なら key などと判断する、という意味。
- 480 :デフォルトの名無しさん :01/08/26 11:16
- moduleにするんだったらそもそもmod_cgi経由のインタフェースが使えな
いから全面書きなおしでしょ。負荷はたいしたことないと言っていたから
cgiのままでいいと思うんだけど。fastcgi案も出てたっけか。
- 481 : :01/08/26 11:17
- _ , -―-、
, 'ニニニ、::::(0::::::::::ヽ、
 ̄ ̄ヽ'::::::::::::::: ヾ みてごらん>>1を あれが夏厨だよ
)::: .... \
/ ::::::::::::::::::ヽ
/ :::::::::::::::::|
/ :::::::::::::::::|
/ :::::::::::::::::::|
/ ::::::::::::::::::::|
| :::::::::::::::::::::|
. | :::::::::::::::::::::|
_ , ―-、| /::::::::::::::/::::|
\ヲ'⌒ヽ:| /:::::::::::::::/::::::|
ト`_ ノ::| /:::::::::::::/::::::::|
人;;;;;;;::::;:| |:::::::::::::/::::::::/
/γ `:::::| |::::::::::::/::::::::/
/ ( ヽ :::| |:::::::::/::::::::/ ふーん、なんだか
{ } ) ::| |::::::::{::::::::/ 頭悪そうだね、ぱぱ
| / } ::| .ヽ::::|:::::::/
) { / ::| .ヽノ ::::/
} | ( :λ :::|
( ヽ、 ) ノヽ ::::|
ヽ, ~ 〈 ト、_ | ::::::ヽ、
( ,' ノ | |~7 ::::::::::::::`ヽ、
ヽ,、,、,γ' ノ, -‐W~フ { ト、:::::::::::::::::::ヽ、
∠____ト-┘z__,―' ̄Σ Z  ̄ヽ―-、_ノ
'―z_,┴'~
- 482 :デフォルトの名無しさん :01/08/26 11:21
- Apache2 系列の時刻解析関数は
apr-util モジュールに apr_date_parse_http() があるから
こっちがいいね。apr-util/misc/apr_date.c の中。
- 483 :Perler ◆GSi39OA6 :01/08/26 11:31
- >>477
> + strftime(lastmod_str, 1024, "%a, %d %b %Y %H:%M:%S %Z", localtime(&lastmod));
HTTP-dateはGMTに「しなければならない(MUST)」です。
下手にJSTなんか入れたら動作しなくなるUAが出てくると思う。
RFC 2068
3.3 Date/Time Formats
3.3.1 Full Date
All HTTP date/time stamps MUST be represented in Greenwich Mean Time
(GMT), without exception. This is indicated in the first two formats
by the inclusion of "GMT" as the three-letter abbreviation for time
zone, and MUST be assumed when reading the asctime format.
ということですので宜しくお願いします。
- 484 :ero :01/08/26 11:32
- http://www1.sphere.ne.jp/kengo.21/ero.html
- 485 :デフォルトの名無しさん :01/08/26 11:37
- えらい、コード読みづらいんですけど・・・
ラフな仕様書から作った方がいいって。
あとグローバル変数多すぎ。
コメント少なすぎ。
- 486 :デフォルトの名無しさん :01/08/26 11:42
- 誰かプロファイラ掛けた結果見せて
- 487 :477 :01/08/26 11:45
- >>483 Perler様お疲れ様でした
確かにHTTPの場合GMTでないとほとんどの場合まずいようです すみません
ただ RFC2068 は現在obsoleteになっていて RFC2616 が現行のHTTPに
なってますので......
- 488 :デフォルトの名無しさん :01/08/26 11:49
- 関数の仕様書・コメント・修正済みコードのコピペ場所はこちらです。
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi?[[726561642E63676982F08D8291AC89BB32]]
コピペの仕方に一癖あるので
まず[[ソースを貼る際の注意事項]]を読んでください。
- 489 :Perler ◆GSi39OA6 :01/08/26 12:10
- >>487
そうでしたね。RFC2616の該当部分は、
RFC 2616
3.3 Date/Time Formats
3.3.1 Full Date
All HTTP date/time stamps MUST be represented in Greenwich Mean Time
(GMT), without exception. For the purposes of HTTP, GMT is exactly
equal to UTC (Coordinated Universal Time). This is indicated in the
first two formats by the inclusion of "GMT" as the three-letter
abbreviation for time zone, and MUST be assumed when reading the
asctime format.
ここになりますか。
- 490 :デフォルトの名無しさん :01/08/26 12:24
- あの、「今はそんな事言ってる場合じやない」と怒られるかも
しれないけど、書いていいですか。
大元のread.cgiのソースって、悪いプログラムの見本のような・・・・
データがコードで書かれているというのは、かなり痛いと思う。
- 491 :デフォルトの名無しさん :01/08/26 12:53
- まだ「名前:」「投稿日:」消せないの?
- 492 :デフォルトの名無しさん :01/08/26 12:58
- >>491
すれ違い
- 493 :初学者26 :01/08/26 13:01
- 「次の100レス」が消えてます。あちらに報告してきますね。
- 494 :デフォルトの名無しさん :01/08/26 13:09
- >>490
がいしゅつ
まあ最初は誰にも見せないつもりだったんだろ
- 495 :名無し :01/08/26 13:14
- read.cgi のインストールは誰がやってくれるんでしょうか?
- 496 :名無しさん@ミポリソ@UNIX板 :01/08/26 13:22
- 圧縮率ってgzipよりbzip2の方が高いよね?
でもブラウザがbzip2なんかほとんどサポートしてないか......
何かブラウザにbzip2デコーダ組み込んだりするうまい方法ないかね?
- 497 :デフォルトの名無しさん :01/08/26 13:24
- read.cgiをプロファイラ(gprof)に掛けてみた結果
傾向がはっきりでるように1つのクエリに対してmain処理を1024回ループさせた
1) datが比較的大きい場合(130KB)
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls us/call us/call name
42.76 1.21 1.21 1024 1181.64 1191.41 dat_read
37.46 2.27 1.06 1822724 0.58 0.58 findSplitter
6.01 2.44 0.17 455681 0.37 2.70 res_split
4.95 2.58 0.14 1020928 0.14 0.28 ExistHlinkX
4.59 2.71 0.13 5256192 0.02 0.02 hrefStop
1.77 2.76 0.05 455680 0.11 3.51 out_html
0.71 2.78 0.02 93184 0.21 0.21 cutWordOff
0.35 2.79 0.01 548864 0.02 0.55 ExistHlink
0.35 2.80 0.01 455680 0.02 0.70 hlinkReplace
0.35 2.81 0.01 93184 0.11 0.11 doReplace
0.35 2.82 0.01 1024 9.77 1572.27 dat_out
0.35 2.83 0.01 1024 9.77 9.77 getLineMax
0.00 2.83 0.00 455680 0.00 0.00 IsBusy2ch
0.00 2.83 0.00 7168 0.00 0.00 zz_GetString
0.00 2.83 0.00 2048 0.00 0.00 getFileSize
0.00 2.83 0.00 1024 0.00 0.00 BadAccess
0.00 2.83 0.00 1024 0.00 0.00 getFileLastmod
0.00 2.83 0.00 1024 0.00 0.00 get_lastmod_str
0.00 2.83 0.00 1024 0.00 0.00 html_foot
0.00 2.83 0.00 1024 0.00 0.00 logOut
0.00 2.83 0.00 1024 0.00 0.00 out_html1
0.00 2.83 0.00 1024 0.00 0.00 zz_GetEnv
0.00 2.83 0.00 1 0.00 0.00 html_head
- 498 :デフォルトの名無しさん :01/08/26 13:25
- 続き
2) datが比較的小さい場合(13KB)
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ns/call ns/call name
51.52 0.17 0.17 167940 1012.27 1012.27 findSplitter
42.42 0.31 0.14 1024 136718.75 136718.75 dat_read
3.03 0.32 0.01 41985 238.18 4287.25 res_split
3.03 0.33 0.01 1024 9765.62 9765.62 BadAccess
0.00 0.33 0.00 83968 0.00 0.00 ExistHlinkX
0.00 0.33 0.00 41984 0.00 0.00 ExistHlink
0.00 0.33 0.00 41984 0.00 0.00 IsBusy2ch
0.00 0.33 0.00 41984 0.00 0.00 hlinkReplace
0.00 0.33 0.00 41984 0.00 4287.35 out_html
0.00 0.33 0.00 7168 0.00 0.00 zz_GetString
0.00 0.33 0.00 2048 0.00 0.00 getFileSize
0.00 0.33 0.00 1024 0.00 175781.25 dat_out
0.00 0.33 0.00 1024 0.00 0.00 getFileLastmod
0.00 0.33 0.00 1024 0.00 0.00 getLineMax
0.00 0.33 0.00 1024 0.00 0.00 get_lastmod_str
0.00 0.33 0.00 1024 0.00 0.00 html_foot
0.00 0.33 0.00 1024 0.00 9765.62 logOut
0.00 0.33 0.00 1024 0.00 0.00 out_html1
0.00 0.33 0.00 1024 0.00 0.00 zz_GetEnv
0.00 0.33 0.00 1 0.00 0.00 html_head
- 499 :デフォルトの名無しさん :01/08/26 13:25
- >>496
MicrosoftとNetscapeに頼んで。
- 500 :名無し :01/08/26 13:26
- ここのソース読めなくなったけど?
http://www.gedoh.org/aki/2ch/wiki/yukiwiki.cgi
- 501 :デフォルトの名無しさん :01/08/26 13:29
- そういうわけで findSplitter() なんとかしねーとな
- 502 :デフォルトの名無しさん :01/08/26 13:33
- 区切り文字は現行のまま?
- 503 :デフォルトの名無しさん :01/08/26 13:55
- >>494
レス全部読んでたけど、どのへんに出てきたっけ?
- 504 :aki :01/08/26 13:57
- >>500
バージョンアップも含めてちょっと色々直してました。
リロードしてだめだったら再度教えて下さい。
荒らし対策に定期バックアップも仕掛けました。
- 505 :デフォルトの名無しさん :01/08/26 13:58
- char *findSplitter(char *stt,int sp)
{
unsigned char *p = (unsigned char*)stt;
char ss = (unsigned char)(sp & 0x00ff);
while(*p)
{
if( *p >= 0xa0 && *p <= 0xdf) {p++; continue;}
if((*p >= 0x81 && *p <= 0x9f || *p >= 0xe0 && *p <= 0xfc)) { p += 2; continue;}
if(*p == ss) return p;
p++;
}
return NULL;
}
- 506 :デフォルトの名無しさん :01/08/26 14:06
- ふしあなさんとかキャップの太くない文字ってdatにタグが入るんだっけ?
- 507 :デフォルトの名無しさん :01/08/26 14:16
- >>505
>if((*p >= 0x81 && *p <= 0x9f || *p >= 0xe0 && *p <= 0xfc)) { p += 2 ; continue;}
if( (unsigned char)(*p^0x20-0xA1) <= 0x3B && *p!=0x80 ){p+=2;continue;}
こういう風に最適化出来ないかな?
231KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30