InfoQ

News

EQATECプロファイラ:.NET Compact Framework向けのアプリケーションコードプロファイラ

作者 Abel Avram, 翻訳者 編集部 投稿日 2008年5月13日 午前12時7分

コミュニティ
.NET
トピック
コード分析
タグ
.NET Compact Framework

EQATE(サイト・英語)は、.NET Compact Frameworkに記述されるアプリケーションのコードプロファイラ(source)を作成した。もともとは独自のニーズで記述されていたが、EQATECは.NET Compact Frameworkデベロッパのコミュニティ全体へのプロファイラのリリースを決定した。これはメモリ使用率プロファイラではなく、処理時間が多くかかる コードの箇所である、アプリケーション障害を探索するためのツールである。

EQATECによるところの主な機能は、以下のとおりである。

  • 非常に低いオーバーヘッド。通常30%未満の長い実行時間で、50%未満の追加のコードサイズ。
  • .NET 2.0/3.5 Compact Framework (.NET CF)アプリケーションのすべてのプロファイルを作成できる。
  • コマンドラインバージョンはプロファイルを自動ビルドに統合することができる。
  • サンプリングプロファイラとは対照的に、正確なインスツルメンテーション
  • 個々のステートメントではなく、メソッドのプロファイルを作成する。
  • 完全な呼び出しグラフの詳細がレポートされる。
  • 使用は完全無料。

このプロファイラの実行は単純である。アプリケーションは通常通りコンパイルされ、プロファイラはモニターされることになるアセンブリにバイナリコードを 注入するために使用される。そしてアプリケーションは、分析のためプロファイラビューアーにロードされるレポートを作成しているデバイスで実行される。

EQATECによると、プロファイラには制限がある。

  • ユーザ定義の汎用はサポートされない。メソッドの独自の汎用タイプを定義する場合、現行の結果アセンブリーは動作しない恐れがある。現在、汎用を含んでい るすべてのアセンブリーをプロファイラは単純にスキップするが、それは非常に面倒である。これをどうにかすることが最優先である。
  • 再帰的メソッドは、呼び出しの合計としてレポートされる。この点に関して、より賢いビューアーが要求される。
  • Read()のようなブロックメソッドは、スレッドがアンスケジュールされ、呼び出しの完了を待機する時間を含む合計時間としてカウントされる。
  • StrongNameの符号付きアセンブリーはサポートされない。場合によってはプロファイルされたあとで、署名し直す必要がある。現在この機能はない。
  • プロファイルされたアセンブリーでは、デバッグ情報が利用不可である。プロファイルされたバージョンをデバッグできないことを意味するが、いずれにせよ、そんなことしたくはないかもしれない。
  • Visual Studioは未統合である。ソリューションのアセンブリーファイルのプロファイル作成をさらに簡単にする、アドインの作成に積極的に取り組む姿勢である。

ビデオによるプロファイラのデモ(source)が利用可能である。プロファイラはここでダウンロードすることができる(source)

原文はこちらです:http://www.infoq.com/news/2008/05/EQATECProfiler

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

ジャンル別一覧

BlazeDSとAMFでWebとデスクトップのアプリケーションを構築する

現在のRIAアーキテクチャにおいて、クライアント/サーバーの通信は重要な位置を占めています。本稿では、James WardとShashank TiwariがアドビによるオープンソースのBlazeDSメッセージングサーバーの世界へ飛び込みます。

業務ソフトに手を加えずに暗号化を実現する~秘文の挑戦~

hibun

ウィルス対策ソフトや情報漏えい防止用のソフトは、いわば影の存在です。ユーザの操作性やGUIを工夫する以上に、いかに目立たない存在となるかにその技術を注ぎ込んでいます。ここでは日立ソフトが開発した「秘文」の事例を紹介します。

Google Chartとgchartrbの紹介

Google Chartは、チャートを作成するためのWebサービスです。本稿では、Google Chartのインターフェースと、Rubyコードから簡単にチャートを生成することができるgchartrbライブラリの説明をします。

SOAを超えて: 動的な業務アプリケーションのための新しいエンタープライズアーキテクチャフレームワーク

全二回からなるこの記事では、ダイナミックビジネスアプリケーション(Dynamic Business Applications:DBAs)の開発についての全体的な眺望を、アーキテクチャと方法論の観点から見ていくことになります。我々のゴールは、「ビジネスの変化や、その他に必要とされる変更に対して、いかにして容易に適応できるアプリケーションを構築していくか」を導きだすことです。

ESB接続形態のオルタナティブ

本稿では、Adrien Louis氏がESBベースのSOAに対する2つの接続形態についての賛否について説明しています。その2つとは、会社での単一のESB対「部門毎」に相互接続するESBによるシステムです。

AjaxプログラマのためのJavaOne2008 -GrizzlyでComet!-

誕生から2年を経てCometは「何が出来るのか」という議論から、「いかに実現するか」という議論に関心が移ってきたように見えます。そこで本稿では同じくJavaOneで数多く取り上げられたNetBeans 6.1とGlassFish v3を使いながら、サンプルを交えてCometを解説していく事にします。

SharePoint Webサービスを始めましょう

この記事では、WSS3とMOSS 2007に難しい設定など一切せず、すぐに利用可能なWebサービスと、Javaと.NETからそのWebサービスを消費する方法に目を向けます。

レトロスペクティブのプライムディレクティブに対する問い

この記事の始まりは、知的で思慮深い人たちの魅力的なグループが食事会を終えて話をしているところです。話はレトロスペクティブ(振り返り)プロセスの要であるプライムディレクティブ(最初の指示)に及んでいます。