• ベストアンサー

CPANを使うことによるオーバーヘッドはありますか?

PHP版のCPANであるPEARは、PHPスクリプトの固まりなので、データベース抽象化ライブラリ(PEAR::DB)などを利用するとオーバーヘッドが発生してしまいます。そのためPHP5のPDOが期待されている訳なのですが。。。 CPANも結局オーバーヘッドが発生してしまうものなのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ysk6406
  • ベストアンサー率40% (237/589)
回答No.2

> CPANも結局オーバーヘッドが発生してしまうものなのでしょうか? 一般論としては、そうであるとも言えるし、そんなことはないとも言えます。 CPAN として登録されているモジュールは、できる限り多くの場面で使えるよう、汎用性・安全性等を考慮して作られているものが多いので、特定用途向けに最適化されたモジュールに比べれば、その分オーバーヘッドは増えるかも知れません。 しかし一方、CPAN は世界中の天才プログラマーが知恵を絞って構築してきた財産なので、生半可な素人がコーディングするより、はるかにうまいやり方で作られている場合が多いので、その観点からはオーバーヘッドは(自分で作るより)少ない可能性もある、と考えられます。 私の今までの経験上は、後者のケースの方が多い(つまり、CPAN を使った方が結局は得)と言えますね。

game_is_afoot
質問者

お礼

回答ありがとうございました。 やはり、信頼性の高いモジュールが豊富にそろっているのがPerlの強力な利点ですね。

その他の回答 (1)

回答No.1

誤解があるようですが.. CPANは、perlのリソース倉庫であって、そこで保持しているモノは 単純なモノから、高度なモノまで、様々です。 という理解もと、 >データベース抽象化ライブラリ(PEAR::DB)などを利用するとオーバーヘッドが発生してしまいます。 >CPANも結局オーバーヘッドが発生してしまうものなのでしょうか? データベースアクセスを例にとると、perlの場合、DBI/DBDがメジャーですが、 決してオーバーヘッドの大きいモノではありません。 データベースアクセスの場合、DBMS側の負担が多いので、気にならないという表現が 適切なのかも知れませんが。

game_is_afoot
質問者

お礼

ありがとうございます。だんだんわかってきました。 .pmのものはコンパイル済みのものなのかと思っていたのですが、違うみたいですね。 いろいろ試しつつ調べてみたいと思います。

関連するQ&A