仮設古書店 | Big_Note | 塵芥堂日記

内容を隠す | 単記事選択 | 話題順一覧 | 日付順一覧 | 最近の一覧

単記事選択: #1764

#1764 久々にバーサーク。 / funai [010421(Sat) 23:07]
<<うわーうわーうわー。

kinofinger代替スクリプトを書き始める。ソケットは面倒だよなーと
調べてみたらちゃんとIO::Socketなんてのがあって、ハンドル取得が

my $REMOTE = IO::Socket::INET->new(
	Proto    => "tcp",
	PeerAddr => $host,
	PeerPort => $port,
);

↑たったこれだけで出来てしまう。やっぱベンリじゃなあ>perl5。

朝までかかってGETリクエストで更新時刻を拾う所まで出来た。
久し振りに調子が良いのでどんどん続ける。いつの間にか昼になった。

MacPerlで出来る作業は終わり、MacOSXに切り替えてプロセス周り。
httpセッションは待ち時間が多いから、シングルスレッドでは
時間が掛かって仕方が無い。kinofingerは巡回サイトの数だけ
子プロセスをforkしまくるという富豪的プログラミングに出ており、
分かり易いには分かり易いんだが負荷的に馬鹿にならない。

PALMLINKの100件弱のサイトを3〜5の子プロセスに割り振り、
プロセス生成を大幅に減らした上で実行速度もキープする。
タイムアウト処理には悩まされたが、SIGALRMとeval()を
使ったトリックでsetjmp()モドキな動作を実現できた。

% time perl palmlink.pl
1.000u 0.530s 1:32.18 1.6%      0+0k 1+2io 0pf+0w
% time perl kf.pl . ./tmp.html
262.520u 2.400s 5:05.85 86.6%   0+0k 1+19io 0pf+0w

↑同一データによるベンチマーク。えへん。

設定ファイルの書式も大幅に整理し、ファイル容量を半減させる。
かねて欲しかったverboseモードも実装。デフォルトの対応力も強化。

後はお決まりのテンプレートによるカスタマイズ機能で一段落。
もともと意図していた拡張機能はこれからだが、スクリプト全体が
perl5マナーで書き直されて随分見通しが良くなった。
「Bat Chain Puller」など歌いつつ手踊り、7時より外出。

これはサケを飲もうと地下鉄で大通、海鱗丸で色々。
実に気分が好い。シゴトが無くてもワタクシはテンサイだ。

ひのででコーヒー&日記書き&プログラミング。テンプレート周り。
地下鉄に乗ったら寝不足とサケの効果が出て腹がユルくなり、
うわーうわーと思っていたら立て続けにデンワが掛かってきた。
不明な応対で申し訳ございません>該当者。

東急ストア経由で帰宅。2階でワンマン歌謡ショーをやっている。

本日聴いたCD:
無し。


話題順
←前の記事 | 次の記事→

日付順
←前の記事 | 次の記事→

仮設古書店 | Big_Note | 塵芥堂日記

|a|f|b|b|s| 1.13