この記事は機械翻訳されたものです。

ツールボックス

.NET コード プロファイル用のツールとテクニック (機械翻訳)

テレンス ドーシー

コード サンプルをダウンロードします。

Terrence Dorsey簡潔な警句「時期尚早な最適化は諸悪の根源」いろいろ長年にわたってドナルド ・ クヌース、ウィリアム ・ ウルフと C.A.R. に起因しています。 ホーア。 (それホーア、語句の由来が、Knuth のそれの普及のための信用を得るが表示されます。 参照してくださいbit.ly/fW1jWEKnuth の考えをテーマの要約)。

これは何、あなたは、勇敢な平均。NET 開発者か。 パフォーマンスと離れてあなたの心のコンテンツへのコードを無視する必要がありますか? IntelliSense の気まぐれに従うし、あなたのアプリケーションを拡張する高速化ハードウェアに依存するが最適ですか?

まあ、ないです。

テストの重要な部分、アプリケーション エラーなし実行されますだけでなくも効率的かつ responsively を実行することです。 ここでコード プロファイリング ツールとテクニックです。 これら、ビルドとテストのプロセスの一部として、コードの構築を評価 — とあからさまなエラー — が問題を引き起こす可能性があります。 あなたのアプリケーション内の場所で直接ポイント、自動ヘッドを取得するには、リファクタリングの必要性。

プロファイルの基本

についての学習を開始する良い場所。NET プロファイルは、ポール Glavich のコード プロジェクト資料」のパフォーマンスのプロファイル。NET アプリケーション」(bit.ly/fpua6i)。 あなただけではなくいくつかの基本的なを取得します。NET プロファイルしますが、Glavich も紹介 (これは私たちには少し後得る) ANTS Profiler に。

Amirthalingam Prasanna のブログの記事、別の偉大な出発点である」プロファイルを。NET コード」(bit.ly/dDXWsF)。 彼はあなたのコードをプロファイルすることなぜべきである 10 の理由をリストすることによって開始し、CLR プロファイラーの使用手順が (bit.ly/eSJyWd)。

ブライアン ロングの豊富なチュートリアル、Microsoft ので。NET Framework Api をプロファイリング」。ネットの内部:、プロファイリングの API」(bit.ly/hNEDYP)、パフォーマンス カウンター、パフォーマンス モニターと、関連する Api について説明します。 Api の動作を説明するためにあなた自身の簡単なプロファイル ツールを作成する方法を参照することもあります。

CLR 今広範なプロファイリング サポートし、デビッド ・ ブロマンを表示する方法彼のブログで使用するポスト、「プロファイラー、インプロセス サイド バイ サイドの CLR インスタンス、および無料のテスト ハーネス」(bit.ly/dYeRnQ)。 ・ ブロマンのサイトのアーカイブをお読みください-偉大な情報がたくさんあります。

高パフォーマンスを行っているときはプロファイルを取得します本当に重要な高いプログラミング スケール。 あなたの路地までは、Channel 9 の「SC08: Windows HPC: マルチコア並列コード プロファイリングに VS2010」ウェブ キャスト チェック アウト (bit.ly/gyeKPi)。

Visual Studio プロファイラー チームのブログをお見逃しなく (blogs.msdn.com/b/profiler) のプロファイルのヒント、トリックと最新のお知らせ。

効率的なコードを書く

もちろん、テスト、プロファイリング、リファクタリング、コードの繰り返しの痛みを避けるために 1 つの方法は最初の場所でより効率的なコードを書くことです。 うまくいけば、以下のいくつかの実行には期待した速度を達成するために、プロファイラーを必要があります、アプリケーションを記述するためのベスト プラクティスを説明する 3 つの記事を以下に示します。

  • 「コードのパフォーマンスを向上させるためのガイド。ネット: その 1「c# 角 Satesh Arveti で (bit.ly/gyImk9)
  • 「効率的な C と C コードの最適化 Koushik ゴーシュでコード プロジェクトを書く」(bit.ly/icnYEi)
  • 「高パフォーマンスの記述。NET コード」ファン A ・ ロドリゲスによっておよび Simonijt Dutta インテルから (intel.ly/fvweaP)

プロファイリング ツール

これは [ツールボックス] 列、それではツールを話します。 実行中プロファイル ソフトウェア ユーティリティは、アプリケーション コードの動的解析を実行します。 あなたがスピンを取る必要がありますいくつかの無料と商用製品です。

AMDCodeAnalyst パフォーマンス アナライザー (bit.ly/gAqPeu) からの無料のプロファイリング ツールです — それを推測-高度なマイクロ デバイス株式会社 C または C++, Fortran, Java をプロファイルと。NET コード。 マルチ スレッド AMD のチップ セットを実行するため、コードの最適化には特に設計されています。 CodeAnalyst Visual Studio 2003 に統合する 2010 年まで、システムで Windows xp から Windows 7 x 86 と AMD64 アーキテクチャの両方で動作します。

EQATEC プロファイラー (bit.ly/h2hDCF) は特に用に設計、コード プロファイラーを。正味のアプリケーションをより速く実行します。 それをサポートは。ネット フレームワーク 2.0 以降では、Windows Presentation Foundation (WPF)、Silverlight とは。NET Compact Framework。 また、Windows の電話 7 プロファイリング機能、エミュレーターとデバイスの両方を提供する最初のプロファイラーです。 無料と有料のライセンスがあります。 詳細については、サイトを参照してください。

EQATEC Profiler

EQATEC プロファイラー

JetBrainsdotTrace (jetbrains.com/profiler) は、実際には 2 つの軽量のコレクションです。NET アプリケーションのプロファイル: dotTrace4 4 パフォーマンスと dotTrace 3.5 メモリ。 dotTrace を使用すると対象のアプリケーションを使用して、します。NET Framework 1.0 4 から年。NET Compact Framework 3.5 および Silverlight 4。 ローカルとリモートの両方のシステムでトレース、サンプリングまたは行で分析を実行することができます。 dotTrace Visual Studio 2005 では 2010 年までを統合します。 JetBrains 現在、限られた時間の無料体験版とライセンス ・ オプションの数を提供しています。 詳細については、サイトを参照してください。

赤扉アリ パフォーマンス プロファイラー (bit.ly/g1yVEt) と アリ メモリ プロファイラー (bit.ly/h3JzAX) は商用の別のセット プロファイルの Windows フォーム アプリケーションは、ASP の分析ツール。ネット Web アプリ、SharePoint と Silverlight 4。 。NET Framework 4、アリ パフォーマンス プロファイラーは実行中のプロセスにアタッチすることができますので、CLR をプロファイルをサポートします。 トリガー コードからの SQL クエリのパフォーマンス データを取得することもできます。 両方の製品をサポートは。NET Framework 1.0 ~ 4 および Windows XP から Windows 7 とは、Visual Studio から直接実行することができます。 価格は赤ゲートのサイトを参照してください。

SmartBearAQtime Pro (bit.ly/ePmENJ) パフォーマンスのプロファイル、メモリとリソースのターゲット プログラムをデバッグは。純フレームワーク、Java、JScript、VBScript のコード。 AQtime Pro を使用して、両方の 32 ビットおよび 64 ビット アプリケーションをプロファイルでき、プロファイラーは Visual Studio 2002 ~ 2010 年および波止場 RAD Studio 開発環境に直接統合できます。 AQtime Pro は、カスタム プロファイラを作成できるように、COM ベースのアーキテクチャを使用してプログラム可能なデバッガーも提供します。 限られた時間の無料試用版をダウンロードまたはスマート負担には現在の価格をお問い合わせください。

SmartBear AQtime Pro

SmartBear AQtime プロ

SlimTune (code.google.com/p/slimtune) はフリー、オープン ソースのプロファイリングとパフォーマンス分析ツールです。ネットの開発。 開発は現在ベータ版では、x86 と x64 の両方のアプリケーションをターゲットすることができますが、唯一のサンプル ベース プロファイルが。 ソース コードには、それ自身をハックしたい場合があります。

電気ソフトウェアGlowCode (glowcode.com) 別の商業パフォーマンスおよびターゲットに 32 ビットと 64 ビットのメモリ プロファイラーの管理、C、C++、またはそのいずれかで書かれたネイティブと混在のコード。NET Framework 対応の言語。 IDE を離れることがなく、アプリケーションをプロファイルすることができますので GlowCode に直接 Visual Studio 2010 では統合しています。 期間限定の評価ライセンスは、シングル ユーザーとフローティング ライセンスの利用可能なです。 Web サイトの詳細を確認します。

プロファイルのデータへのアクセス

データ層アプリケーションの愛が必要です。 ここにいくつかのツールとデータ アクセスのプロファイル リソース。

SQL Server 2008 R2 を使用している場合SQL Server Profilerのインストール; 含まれています。 分析クエリ、TRANSACT-SQL ステートメント、式、およびようにできます。 SQL Server プロファイラーを開始する他の偉大なリソースを含めます。

  • 「SQL Server プロファイラは、MSDN ライブラリのを使用する」(msdn.microsoft.com/library/ms187929)
  • 入門 SQL サーバー 2008年プロファイラー」受ける Pinal デイブ dotnetslackers.com で (bit.ly/g5IDA0)
  • 「ステップ バイ ステップ: SQL Server プロファイラー入門」スーザン Harkins TechRepublic で投稿 (tek.io/hTV6Kh)

ただし、SQL Server 2005 または 2008 Express Edition を使用している場合は、SQL Server の完全なバージョンに含まれているプロファイル ツールへのアクセスを必要はありません。 この場合は、オープン ソースの無料 AnjLab を見てする必要がありますSQL Server Express Edition の Profiler (bit.ly/eNg5oi)。

エンティティ フレームワーク プロファイラー (efprof.com) を分析するために設計であり、リアルタイムのエンティティ フレームワークを使用して、コードでのデータ アクセスをデバッグします。 それは実際に舞台裏で起こっていることを発見のための素晴らしいツールです。 エンティティ フレームワーク プロファイラーが商用製品ですが、あなた自身のプロジェクトに旋回する 30 日間の評価版のライセンスを要求することができます。

Entity Framework Profiler

エンティティ フレームワーク プロファイラー

ロード テストの SQL (sqlloadtest.codeplex.com) SQL プロファイラー トレースから単体テストを生成し、データベース呼び出し Visual Studio のロード テストを使用して、トレースからを再生するには、Visual Studio Team System (VSTS) のレーンジャーのチームによって作成された CodePlex プロジェクトです。 それは直接負荷テストされていないデータ中心のアプリケーションをテストするために便利なツールです。

最後に、忘れないでくださいLINQPad (linqpad.net)、c# および Visual Basic のコードと同様に LINQ クエリを評価する便利なツールとして。 プロファイラー中は本当に、あなたのコードをプロジェクトのコンテキスト外のイテレーションに仕事に便利な方法です。

テレンス ドーシー  技術的なエディターです MSDN Magazine*.*彼のブログで読むことができますterrencedorsey.com または彼の Twitter の twitter.com/tpdorsey