-
Notifications
You must be signed in to change notification settings - Fork 0
tokuhirom/optimize-perl-doc
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
=head1 概要 本プロジェクトでは、Perl programming における、パフォーマンスチューニングの要諦について書く。 =head2 チューニングの原則 可読性/メンテナンス性とのトレードオフを意識し、メンテナンス性の低下をひきおこすようなチューニングは気をつけておこなうこと。 =head2 無根拠なチューニングはしない マイクロオプティマイゼーションにおいて、ベンチマーク結果のみにたよったチューニングはできるだけ避け、「どうしてこちらの方が高速なのか」を常に意識するよう心がけるべきである。 =head2 ツール =over 4 =item Benchmark.pm Benchmark.pm は、Perl における標準のベンチマークモジュールである。cmpthese, timethese, timeit などを場合によって使いわけるようにする。本稿でも主にこれを用いる。 =item B::Terse/B::Concise これらのモジュールをつかうと、Perl の op tree のダンプをみることができる。これをよくみることにより、「なぜこれが速くなるのか」ということが理解可能となる。 =item Devel::NYTProf Perl5 のプロファイラはながらく Devel::DProf が標準的につかわれてきましたが、最近は Devel::NYTProf が主流となっています。Devel::NYTProf は、綺麗な HTML を生成することができ、ホットスポットがひとめでわかるので、オススメです。 最適化の基本はプロファイラなのであって、イチにもニにもプロファイラです。まずはとにかくプロファイラにかけてください。その上で考えましょう。 ホットスポットがどこなのかわからなければ、高速化はできないのです。 =back =head2 環境 perl5 は日々開発がつづけられていますので、今日有効だったテクニックが明日は無駄になるかもしれません。 本稿では現在での最新安定版である perl5.10 を debian gnu/linux lenny 上でベンチマークをとっています。 =cut
About
how to optimize your perl code?
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published