忍者ブログ
プログラミングとか日常とかの覚書っぽいなにか
[1] [2]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ソフト開発の技術書には、パフォーマンス最適化について書かれているものも多いですが、そこで必ずと言っていいくらいに述べられているのが、「コードを書く時点から最適化をしない」「手を加える前にまずパフォーマンスを測定せよ」ということです。

「プログラムの処理にかかる時間の80%はコード全体の20%の部分が占める」という、いわゆるパレートの法則に則り、まず測定によってプログラムの実行時間の大半を占めるわずかな部分のコードを割り出して、そこを集中的に改善しましょう、というのが定説です。

コードの測定には通常、プロファイラと呼ばれるツールを使います。
プロファイラは、どの関数がどのくらいの時間実行されていたか、何回呼び出されたかなどの方法を収集して解析し、ボトルネックとなっている部分を探すことができるものです。

VC6.0時代にはプロファイラが標準機能として存在したのですが、なぜかVC.NET 2002以降、標準ではプロファイラがなくなってしまったようです。
VCで使えるフリーのプロファイラというと、以前にCompuwareという会社が「DevPartner Profiler Community Edition」という無償のプロファイラを公開していて、VC.NET 2003やVC2005などで使えたのを記憶しているのですが、最近はどうやらダウンロードできなくなっているようですね。(まぁ、これは無償のVC2005 Express Editionでは使えなかったんですけどね。)

そこで、VCで(できれば無償で利用できるExpress Editionで)利用可能なフリーのプロファイラがないかどうかというのを探してみました。
そしたらあるじゃないですか、しかも本家本元のマイクロソフトがちゃんと用意してくれてました。
というか、こんな形で公開するなら最初から一緒にしておいてくれればいいのに。

ということで、マイクロソフトが公開しているプロファイラを使ってプロファイルを行う方法を簡単に紹介しておきます。ここでは、ビルド環境としてVisual C++ 2008 Express Edition (SP1) を使っています。

2011/07/05  Visual C++ 2010 の場合の方法を追記しました。

拍手

PR


忍者ブログ [PR]
プロフィール
HN:
はむぱい
職業:
ソフト作ったりしてる人
Twitter
最新CM
[06/09 replica rolex oyster perpetual datejust]
[06/09 bracelets imitation cartier love]
[06/09 replica the oyster perpetual datejust]
[06/09 datejust rolex oyster perpetual]
[06/09 replica gold love bangle]
カレンダー
12 2025/01 02
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
ブログ内検索
あ~いい漢字