- ベストアンサー
「perl」 コメントアウトは削除すべきか?
CGI「perl」を実際に、サーバにアップして使う際、コメントアウトは削除したほうがいいのでしょうか? コメントアウトを削除すれば、読み込みが早くなる気もしますがいかがなものでしょうか? ご存知の方教えてください。 宜しくお願い致します。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
気になるのでしたらご自身で検証されてはいかがでしょうか? コメントありとコメントなしのfor文を作って100万回づつとかまわしてみて時間を計ってみればわかるんじゃないでしょうか。(もちろん時間を計るのもスクリプトに仕込んでおいて)
その他の回答 (6)
- ac_2000
- ベストアンサー率10% (9/87)
> if(0){ > #様々なテストプログラム > } > が含まれていた場合も気にしなくても良いということでしょうか? Perlはインタプリタですが、まったくコンパイルされないわけではありません。実行直前にコンパイルされます。そこでの処理を考えてみてください。まずコメント除去ですよね。であれば、コメント位置により処理量が変わるということはありません。 > サーバから出されるデータ量はコメントアウトの量に関係ない(HTMLデータが出力される)ため、サーバ転送量から考えても問題ないでしょうか? その通り、問題ありません。
- ac_2000
- ベストアンサー率10% (9/87)
初心者のころって妙な小さなテクニックに走りがちですよね。ご自身で検証なさってはいかがでしょうか。 たぶん効果は測定できません。 他のモジュールを使っているとしたら、相対的にあなたのコメントなど無視できる程度であることは間違いありませんし。そもそもコメント行の削除程度で早くなるとは思えません。 小さなテクニックに走らず、もっと対極的にどこにボトルネックがあるのかを考えて対策を練ってみてはいかがでしょうか。
お礼
皆様へ たくさんの回答をお寄せいただきありがとうございます! 基本的には、コメントアウトは無視できる存在か分かりとても安心いたしました。 ただ、少し気になることなのですが、コメントアウト #コメントアウト 以外にも、 if(0){ #様々なテストプログラム } が含まれていた場合も気にしなくても良いということでしょうか? また、チャットのように、何度も呼び出されるようなプログラムの場合でも、サーバから出されるデータ量はコメントアウトの量に関係ない(HTMLデータが出力される)ため、サーバ転送量から考えても問題ないでしょうか? すこし、気になりましたので教えていただけると幸いです。 宜しくお願い致します。
- galluda
- ベストアンサー率35% (440/1242)
がると申します。 んっと…理論値的には「一切の余計な文字列がない」ほうが、ファイルの読み込みの速度などにおいて優位に立てる可能性はあります。 が、正直、ものっすごく微々たるものです(苦笑 体感できるかと聞かれれば、今までの経験上では「無理」です。 なので、別段気にされなくてもよいと思います。 それよりも、 ・コメントをはずしたことによる保守性の低下 ・「コメント付きバージョン」と「コメント無しバージョン」の混在によるソース管理の煩雑化 など、デメリットのほうが高いと思われます。 まぁ「納品用で相手に解析されにくいソースを提供するためにインデントのホワイトスペースとコメントを全部削除」とかいう理由でしたらもちろん止める理由もないのですが。
- SHOO-3
- ベストアンサー率56% (28/50)
処理を完全に理解しているわけではないのでなんともいえませんが、とりあえず25MBくらいのコメント文を使ったtest.plをrequireしてみたところ、requireでのベンチマークにかかった時間はほとんど変わりませんでした。 多少のコメント文なら残しておいてもいい気がします。
- hegemonism
- ベストアンサー率53% (37/69)
しないほうがいいと思います。 コメントを削除した場合のメンテナンス性を考慮すると、リスクは高いでしょう。
- kazuho_goo
- ベストアンサー率56% (34/60)
私の主観になってしまうのですが削除はしないほうが良いと思います。理由は以下の通りです。 1.CGIの動作って結局サーバー側ですのでトラフィックは考慮しなくてもOKかと思います。(ただし、pealのコメント行の処理方法を知りませんので勝手な憶測になりますが、負荷はほぼ無視して結構かと。) 2.コメントを中途半端に削った場合のリスクが高い。(再度テストを行うことが必要になるし、テストを行わなければ、もしも削除しきれていないコメントが原因でエラーが発生した場合、エンドユーザーに説明がつかない。) 参考になれば幸いです。
お礼
回答いただきありがとうございます。 確かにそうですね。 やっと、自前の環境でまともにPerlを動かすことができるようになったのでやってみます。