投稿日時: 02/01/13 23:39:47
Q.imgboard122r6使おうと思ったんですが、スクリプトの中身に素人では関係ない部分まで注釈が入っていて重くて困っています。#〜〜〜〜ってやつです。最初のセッティング以外は説明がないCGIが多いですが、細かいルーチンの役割まで説明してほしいユーザーはほとんどいないはずです。
あつかましいお願いですが、本体CGIスクリプトのカスタム部分以外から#注釈を外した軽量版を作っていただけないでしょうか?
A.Perlスクリプトの実行速度について、何点か勘違いされている点があると思います。(このスクリプトはファイルサイズはやや大き目ですが、他の掲示板よりも圧倒的に動作は軽いです。)
1点目 #の注釈部分で重くなる
実行速度は無駄なループ処理の回数や、メインループの設計、連想配列の選び方、ファイルIO(これは一桁多く時間がかかる)の回数、データキャッシュのやり方、HTMLレイアウト方式などが支配要因であり、注釈の多寡は関係ありません。
くわしくはオライリージャパンから出版されているラクダ本 実践Perl の実行速度やチューニング等に関しての項をお読みください。また、コメントアウト分の容量増を気にされているようですが、実験されるとわかると思いますが、サーバ上のファイルシステムではキャッシュとリード単位の関係で16KBのファイルを読んでも256KBのファイルを読んでも必要な時間は同じですので、違いはありません。この辺はUNIXのシステムチューニングの本をお読みいただければご理解いただけると思います。
重くて困っているとのことですが、おそらくは素人の人が「画像掲示板だから遅いのでは」「スクリプトが他の掲示板より長いので遅いに違いない」「注釈が多いので遅くなっているに違いない」と間違えた先入観で見てしまっているからそう暗示的に感じているのだと思います。実際設置して使っていただければすぐわかると思いますが、このスクリプトは高速に動作しますので、動きが「軽い」ことがわかると思います。
なお、実際に本当に重い場合、それはアップロード画像のサイズが大きすぎるのか、ログの記録数が多すぎるのか、そもそも重いプロバイダを使っているのでしょう。それらの設定やプロバイダを変える等して改善してみることをオススメします。
このスクリプトは、細かく場合分けして無駄を省き、処理を超高速化してあるので、他の掲示板よりも圧倒的に動作は軽いはずです。安心してご利用ください(^^)