JP5648584B2 - ソフトウェアアプリケーションのプロファイリング方法及び装置 - Google Patents
ソフトウェアアプリケーションのプロファイリング方法及び装置 Download PDFInfo
- Publication number
- JP5648584B2 JP5648584B2 JP2011118246A JP2011118246A JP5648584B2 JP 5648584 B2 JP5648584 B2 JP 5648584B2 JP 2011118246 A JP2011118246 A JP 2011118246A JP 2011118246 A JP2011118246 A JP 2011118246A JP 5648584 B2 JP5648584 B2 JP 5648584B2
- Authority
- JP
- Japan
- Prior art keywords
- functions
- function
- profiling
- level
- subset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
(i)大量のデータが生成される;
(ii)プロファイリングによって生じるオーバヘッドがタイミングを歪ませてしまい得る。
前記複数の関数の各々を、前記メイン関数からの最小の呼び出し段数に従って、少なくとも最上位レベル及び最下位レベルを含む複数の階層レベルのうちの1つに分類するステップと、
前記最上位レベルで開始して、現在レベルにおける関数群のサブセットを定めるステップと、
前記サブセットの関数群に対してプロファイリングコードを付加あるいは有効化し、且つ前記ソフトウェアアプリケーションを実行することで、プロファイリングデータを生成するステップと、
前記プロファイリングデータに基づいて前記関数群のうちの1つ以上を除去することにより、前記サブセットを縮小するステップと、
前記サブセットを縮小するステップにて除去された関数によってのみ呼び出される関数に、選外関数としてマークを付すステップと、
所定の階層レベルに到達するまで、
前記現在レベルの下の次レベルから前記選外関数以外の関数群を前記縮小されたサブセットに追加して、前記プロファイリングデータを生成するステップ、前記サブセットを縮小するステップ、及び前記マークを付すステップを繰り返すステップと、
を含む。
複数の関数の各々を、メイン関数からの最小の呼び出し段数に従って、少なくとも最上位レベル及び最下位レベルを含む複数の階層レベルのうちの1つに分類するように構成されたコード分析ユニットと、
現在レベルにおける関数群のサブセットを記録するように構成された関数記憶ユニットと、
サブセットの関数群の各々に対してプロファイリングコードを付加あるいは有効化するように構成されたインスツルメンテーションユニットと、
ソフトウェアアプリケーションを実行して、プロファイリングデータを生成するように構成された実行ユニットと、
実行ユニットによって生成されたプロファイリングデータを保持するプロファイルデータ記憶ユニットと、
プロファイリングデータに基づいて関数を消去し、且つ消去された関数によってのみ呼び出される関数を除いた現在レベルの下の次レベルからの関数を記録するよう、関数記憶ユニットに命令するように構成された関数選択ユニットと、
を含み、
インスツルメンテーションユニット、実行ユニット、プロファイルデータ記憶ユニット、及び関数選択ユニットは、所定の階層レベルに到達するまで繰り返し動作するように構成される。
前記複数の関数の各々を、前記メイン関数からの最小の呼び出し段数に従って、少なくとも最上位レベル及び最下位レベルを含む複数の階層レベルのうちの1つに分類するステップと、
前記最上位レベルで開始して、現在レベルにおける関数群のサブセットを定めるステップと、
前記サブセットの関数群に対してプロファイリングコードを付加あるいは有効化し、且つ前記ソフトウェアアプリケーションを実行することで、プロファイリングデータを生成するステップと、
前記プロファイリングデータに基づいて前記サブセットから関数群のうちの1つ以上を除去することにより、前記サブセットを縮小するステップと、
前記サブセットを縮小するステップにて除去された関数によってのみ呼び出される関数に、選外関数としてマークを付すステップと、
所定の階層レベルに到達するまで、
前記現在レベルの下の次レベルから前記選外関数以外の関数群を前記縮小されたサブセットに追加して、前記プロファイリングデータを生成するステップ、前記サブセットを縮小するステップ、及び前記マークを付すステップを繰り返すステップと、
を含む処理を実行させる。
経路1:S0→S3→S8
経路2:S0→S2→S7→S13→S8
を有している。S8は図3のコールグラフではレベル2に示されている。レベル0から数えた最小の呼び出し数が2だからである。
(i)図6(b)に示すように、何れのブランチにおいてもプロファイリングされない;
(ii)図6(c)に示すように、一方のブランチでプロファイリングされるが、他方ではされない。この場合、プロファイリングされる1つ(B3)及びされない1つ(A3)である関数3の2つのインスタンスを管理することが必要である;
(iii)図6(d)に示すように、双方のブランチでプロファイリングされる。この場合、単一の計装された関数の複製B3が存在する。
アプリケーションの性能を測定するために使用可能なプロファイリングメトリックは数多く存在する。この機構に関する主な要件は、特定の関数に関するメトリックの値が、親によって呼び出される全ての子の値を含むことである。
例えば経過時間などの特定のメトリックのうちの高い割合を占める関数を決定する;
それら関数のコールグラフを決定する;
プロファイリングの時間歪みを最小化する;
プロファイリングデータの量を最小化する;
人の介入なく作動する。
(付記1)
メイン関数を含む複数の関数を有し、該関数間で階層的に呼び出しが行われるソフトウェアアプリケーションをプロファイリングする方法であって、
前記複数の関数の各々を、前記メイン関数からの最小の呼び出し段数に従って、少なくとも最上位レベル及び最下位レベルを含む複数の階層レベルのうちの1つに分類するステップと、
前記最上位レベルで開始して、現在レベルにおける関数群のサブセットを定めるステップと、
前記サブセットの関数群に対してプロファイリングコードを付加あるいは有効化し、且つ前記ソフトウェアアプリケーションを実行することで、プロファイリングデータを生成するステップと、
前記プロファイリングデータに基づいて前記関数群のうちの1つ以上を除去することにより、前記サブセットを縮小するステップと、
前記サブセットを縮小するステップにて除去された関数によってのみ呼び出される関数に、選外関数としてマークを付すステップと、
所定の階層レベルに到達するまで、
前記現在レベルの下の次レベルから前記選外関数以外の関数群を前記縮小されたサブセットに追加して、前記プロファイリングデータを生成するステップ、前記サブセットを縮小するステップ、及び前記マークを付すステップを繰り返すステップと、
を含む、方法。
(付記2)
前記分類するステップは更に、前記複数の関数のコールグラフを決定することを有し、
前記サブセットを縮小するステップは更に、前記除去された関数及び前記選外関数を前記コールグラフから消去することを有すること特徴とする付記1に記載の方法。
(付記3)
前記関数はコンパイル可能なコードの形態を有すること特徴とする付記1又は2に記載の方法。
(付記4)
前記プロファイリングデータを生成するステップは、各関数をコンパイルする処理の間又は前に、前記プロファイリングコードを付加すること特徴とする付記3に記載の方法。
(付記5)
前記プロファイリングデータを生成するステップは、前記関数に既に設けられているプロファイリングコードを有効化することを特徴とする付記3に記載の方法。
(付記6)
前記分類するステップに先立って、プロファイリングメトリックを選択し、且つプロファイリングコードを用いずに前記ソフトウェアアプリケーションを実行することで、選択されたメトリックの基準値を確立するステップを更に有することを特徴とする、付記1乃至5の何れか一項に記載の方法。
(付記7)
前記サブセットを縮小するステップは、関数を、それに関連するプロファイリングデータが前記プロファイリングメトリックに関する所定の条件を満たすか否かに基づいて除去することを含む、ことを特徴とする付記6に記載の方法。
(付記8)
前記サブセットを縮小するステップは、前記プロファイリングメトリックに従って、プロファイリングされた関数をランク付けすることを含み、前記所定の条件は前記基準値のうちの所与の割合である、ことを特徴とする付記7に記載の方法。
(付記9)
前記プロファイリングメトリックは、実行時間、メモリ使用状況、ディスク使用状況、及びハードウェアカウンタに基づくメトリックのうちの少なくとも1つである、ことを特徴とする付記8に記載の方法。
(付記10)
前記所定の階層レベルは前記最下位レベルである、ことを特徴とする付記1乃至9の何れか一項に記載の方法。
(付記11)
前記所定の階層レベルは、目標とする数又は割合の関数が選外となるか、除去されることになった階層レベルである、ことを特徴とする付記1乃至9の何れか一項に記載の方法。
(付記12)
前記最適化されたコールグラフをユーザに表示するステップ、を更に有することを特徴とする付記2に記載の方法。
(付記13)
前記所定の階層レベルに到達したときに得られた前記サブセットに含まれる関数のコードを最適化するステップ、を更に有することを特徴とする付記1乃至12の何れか一項に記載の方法。
(付記14)
メイン関数を含む複数の関数を有し、該関数間で階層的に呼び出しが行われるソフトウェアアプリケーションを自動的にプロファイリングする装置であって、
前記複数の関数の各々を、前記メイン関数からの最小の呼び出し段数に従って、少なくとも最上位レベル及び最下位レベルを含む複数の階層レベルのうちの1つに分類するように構成されたコード分析ユニットと、
現在レベルにおける関数群のサブセットを記録するように構成された関数記憶ユニットと、
前記サブセットの関数群の各々に対してプロファイリングコードを付加あるいは有効化するように構成されたインスツルメンテーションユニットと、
前記ソフトウェアアプリケーションを実行して、プロファイリングデータを生成するように構成された実行ユニットと、
前記実行ユニットによって生成されたプロファイリングデータを保持するプロファイルデータ記憶ユニットと、
前記プロファイリングデータに基づいて関数を消去し、且つ消去された関数によってのみ呼び出される関数を除いた前記現在レベルの下の次レベルからの関数を記録するよう、前記関数記憶ユニットに命令するように構成された関数選択ユニットと、
を含み、
前記インスツルメンテーションユニット、前記実行ユニット、前記プロファイルデータ記憶ユニット、及び前記関数選択ユニットは、所定の階層レベルに到達するまで繰り返し動作するように構成される、
装置。
(付記15)
メイン関数を含む複数の関数を有し、該関数間で階層的に呼び出しが行われるソフトウェアアプリケーションをプロファイリングさせるプログラムであって、コンピュータに、
前記複数の関数の各々を、前記メイン関数からの最小の呼び出し段数に従って、少なくとも最上位レベル及び最下位レベルを含む複数の階層レベルのうちの1つに分類するステップと、
前記最上位レベルで開始して、現在レベルにおける関数群のサブセットを定めるステップと、
前記サブセットの関数群に対してプロファイリングコードを付加あるいは有効化し、且つ前記ソフトウェアアプリケーションを実行することで、プロファイリングデータを生成するステップと、
前記プロファイリングデータに基づいて前記サブセットから関数群のうちの1つ以上を除去することにより、前記サブセットを縮小するステップと、
前記サブセットを縮小するステップにて除去された関数によってのみ呼び出される関数に、選外関数としてマークを付すステップと、
所定の階層レベルに到達するまで、
前記現在レベルの下の次レベルから前記選外関数以外の関数群を前記縮小されたサブセットに追加して、前記プロファイリングデータを生成するステップ、前記サブセットを縮小するステップ、及び前記マークを付すステップを繰り返すステップと、
を含む処理を実行させるプログラム。
Claims (10)
- メイン関数を含む複数の関数を有し、該関数間で階層的に呼び出しが行われるソフトウェアアプリケーションをプロファイリングする方法であって、
コンピュータにより
前記複数の関数の各々を、前記メイン関数からの最小の呼び出し段数に従って、少なくとも最上位レベル及び最下位レベルを含む複数の階層レベルのうちの1つに分類するステップと、
前記最上位レベルで開始して、現在レベルにおける関数群のサブセットを定めるステップと、
前記サブセットの関数群に対してプロファイリングコードを付加あるいは有効化し、且つ前記ソフトウェアアプリケーションを実行することで、プロファイリングデータを生成するステップと、
前記プロファイリングデータに基づいて前記関数群のうちの1つ以上を除去することにより、前記サブセットを縮小するステップと、
前記サブセットを縮小するステップにて除去された関数によってのみ呼び出される関数に、選外関数としてマークを付すステップと、
所定の階層レベルに到達するまで、
前記現在レベルの下の次レベルから前記選外関数以外の関数群を前記縮小されたサブセットに追加して、前記プロファイリングデータを生成するステップ、前記サブセットを縮小するステップ、及び前記マークを付すステップを繰り返すステップと、
を含む、方法。 - 前記分類するステップは更に、前記複数の関数のコールグラフを決定することを有し、
前記サブセットを縮小するステップは更に、前記除去された関数及び前記選外関数を前記コールグラフから消去することを有すること特徴とする請求項1記載の方法。 - 前記分類するステップに先立って、プロファイリングメトリックを選択し、且つプロファイリングコードを用いずに前記ソフトウェアアプリケーションを実行することで、選択されたメトリックの基準値を確立するステップを更に有することを特徴とする、請求項1又は2に記載の方法。
- 前記サブセットを縮小するステップは、関数を、それに関連するプロファイリングデータが前記プロファイリングメトリックに関する所定の条件を満たすか否かに基づいて除去することを含む、こと特徴とする請求項3に記載の方法。
- 前記サブセットを縮小するステップは、前記プロファイリングメトリックに従って、プロファイリングされた関数をランク付けすることを含み、前記所定の条件は前記基準値のうちの所与の割合である、こと特徴とする請求項4に記載の方法。
- 前記プロファイリングメトリックは、実行時間、メモリ使用状況、ディスク使用状況、及びハードウェアカウンタに基づくメトリックのうちの少なくとも1つである、こと特徴とする請求項5に記載の方法。
- 前記所定の階層レベルは前記最下位レベルである、こと特徴とする請求項1乃至6の何れか一項に記載の方法。
- 前記所定の階層レベルは、目標とする数又は割合の関数が選外となるか、除去されることになった階層レベルである、こと特徴とする請求項1乃至6の何れか一項に記載の方法。
- メイン関数を含む複数の関数を有し、該関数間で階層的に呼び出しが行われるソフトウェアアプリケーションを自動的にプロファイリングする装置であって、
前記複数の関数の各々を、前記メイン関数からの最小の呼び出し段数に従って、少なくとも最上位レベル及び最下位レベルを含む複数の階層レベルのうちの1つに分類するように構成されたコード分析ユニットと、
現在レベルにおける関数群のサブセットを記録するように構成された関数記憶ユニットと、
前記サブセットの関数群の各々に対してプロファイリングコードを付加あるいは有効化するように構成されたインスツルメンテーションユニットと、
前記ソフトウェアアプリケーションを実行して、プロファイリングデータを生成するように構成された実行ユニットと、
前記実行ユニットによって生成されたプロファイリングデータを保持するプロファイルデータ記憶ユニットと、
前記プロファイリングデータに基づいて関数を消去し、且つ消去された関数によってのみ呼び出される関数を除いた前記現在レベルの下の次レベルからの関数を記録するよう、前記関数記憶ユニットに命令するように構成された関数選択ユニットと、
を含み、
前記インスツルメンテーションユニット、前記実行ユニット、前記プロファイルデータ記憶ユニット、及び前記関数選択ユニットは、所定の階層レベルに到達するまで繰り返し動作するように構成される、
装置。 - メイン関数を含む複数の関数を有し、該関数間で階層的に呼び出しが行われるソフトウェアアプリケーションをプロファイリングさせるプログラムであって、コンピュータに、
前記複数の関数の各々を、前記メイン関数からの最小の呼び出し段数に従って、少なくとも最上位レベル及び最下位レベルを含む複数の階層レベルのうちの1つに分類するステップと、
前記最上位レベルで開始して、現在レベルにおける関数群のサブセットを定めるステップと、
前記サブセットの関数群に対してプロファイリングコードを付加あるいは有効化し、且つ前記ソフトウェアアプリケーションを実行することで、プロファイリングデータを生成するステップと、
前記プロファイリングデータに基づいて前記サブセットから関数群のうちの1つ以上を除去することにより、前記サブセットを縮小するステップと、
前記サブセットを縮小するステップにて除去された関数によってのみ呼び出される関数に、選外関数としてマークを付すステップと、
所定の階層レベルに到達するまで、
前記現在レベルの下の次レベルから前記選外関数以外の関数群を前記縮小されたサブセットに追加して、前記プロファイリングデータを生成するステップ、前記サブセットを縮小するステップ、及び前記マークを付すステップを繰り返すステップと、
を含む処理を実行させるプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10164180.1 | 2010-05-27 | ||
EP10164180A EP2390790A1 (en) | 2010-05-27 | 2010-05-27 | Profiling of software applications |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011248895A JP2011248895A (ja) | 2011-12-08 |
JP5648584B2 true JP5648584B2 (ja) | 2015-01-07 |
Family
ID=42971757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011118246A Active JP5648584B2 (ja) | 2010-05-27 | 2011-05-26 | ソフトウェアアプリケーションのプロファイリング方法及び装置 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP2390790A1 (ja) |
JP (1) | JP5648584B2 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8938729B2 (en) * | 2010-10-12 | 2015-01-20 | Ca, Inc. | Two pass automated application instrumentation |
US8954546B2 (en) | 2013-01-25 | 2015-02-10 | Concurix Corporation | Tracing with a workload distributor |
US9323863B2 (en) | 2013-02-01 | 2016-04-26 | Microsoft Technology Licensing, Llc | Highlighting of time series data on force directed graph |
US9256969B2 (en) | 2013-02-01 | 2016-02-09 | Microsoft Technology Licensing, Llc | Transformation function insertion for dynamically displayed tracer data |
US9021447B2 (en) | 2013-02-12 | 2015-04-28 | Concurix Corporation | Application tracing by distributed objectives |
US8843901B2 (en) | 2013-02-12 | 2014-09-23 | Concurix Corporation | Cost analysis for selecting trace objectives |
US8997063B2 (en) | 2013-02-12 | 2015-03-31 | Concurix Corporation | Periodicity optimization in an automated tracing system |
US20130283281A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deploying Trace Objectives using Cost Analyses |
US8924941B2 (en) * | 2013-02-12 | 2014-12-30 | Concurix Corporation | Optimization analysis using similar frequencies |
US20130227529A1 (en) | 2013-03-15 | 2013-08-29 | Concurix Corporation | Runtime Memory Settings Derived from Trace Data |
US9575874B2 (en) | 2013-04-20 | 2017-02-21 | Microsoft Technology Licensing, Llc | Error list and bug report analysis for configuring an application tracer |
US8990777B2 (en) | 2013-05-21 | 2015-03-24 | Concurix Corporation | Interactive graph for navigating and monitoring execution of application code |
US9734040B2 (en) | 2013-05-21 | 2017-08-15 | Microsoft Technology Licensing, Llc | Animated highlights in a graph representing an application |
US9280841B2 (en) | 2013-07-24 | 2016-03-08 | Microsoft Technology Licensing, Llc | Event chain visualization of performance data |
US9292415B2 (en) | 2013-09-04 | 2016-03-22 | Microsoft Technology Licensing, Llc | Module specific tracing in a shared module environment |
EP3069241B1 (en) | 2013-11-13 | 2018-08-15 | Microsoft Technology Licensing, LLC | Application execution path tracing with configurable origin definition |
US10346292B2 (en) | 2013-11-13 | 2019-07-09 | Microsoft Technology Licensing, Llc | Software component recommendation based on multiple trace runs |
US9218169B2 (en) | 2013-11-19 | 2015-12-22 | Google Inc. | Callpath finder |
JP6648546B2 (ja) | 2016-02-09 | 2020-02-14 | 富士通株式会社 | 情報処理装置、性能データ収集プログラムおよび性能データ収集方法 |
CN107608872A (zh) * | 2016-07-11 | 2018-01-19 | 北京京东尚科信息技术有限公司 | 一种检测软件系统的模块化水平的方法和装置 |
US10289520B2 (en) * | 2017-06-23 | 2019-05-14 | New Relic, Inc. | Adaptive application performance analysis |
US10466986B2 (en) | 2018-03-30 | 2019-11-05 | Oracle International Corporation | Optimized recompilation using hardware tracing |
US10768915B2 (en) * | 2018-10-18 | 2020-09-08 | Denso International America, Inc. | Systems and methods for selectively instrumenting a program according to performance characteristics |
CN113934475B (zh) * | 2021-08-10 | 2022-09-06 | 荣耀终端有限公司 | 应用调用的分析方法及电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5828883A (en) * | 1994-03-31 | 1998-10-27 | Lucent Technologies, Inc. | Call path refinement profiles |
US5960198A (en) | 1997-03-19 | 1999-09-28 | International Business Machines Corporation | Software profiler with runtime control to enable and disable instrumented executable |
US6189141B1 (en) * | 1998-05-04 | 2001-02-13 | Hewlett-Packard Company | Control path evaluating trace designator with dynamically adjustable thresholds for activation of tracing for high (hot) activity and low (cold) activity of flow control |
JP2002297416A (ja) * | 2001-03-28 | 2002-10-11 | Matsushita Electric Ind Co Ltd | プロファイル情報取得装置及びプロファイル情報取得プログラム |
JP2003140928A (ja) * | 2001-11-02 | 2003-05-16 | Fujitsu Ltd | 仮想マシン内部情報自動取得システム |
US8214806B2 (en) | 2007-05-09 | 2012-07-03 | International Business Machines Corporation | Iterative, non-uniform profiling method for automatically refining performance bottleneck regions in scientific code |
-
2010
- 2010-05-27 EP EP10164180A patent/EP2390790A1/en not_active Ceased
-
2011
- 2011-05-26 JP JP2011118246A patent/JP5648584B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011248895A (ja) | 2011-12-08 |
EP2390790A1 (en) | 2011-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5648584B2 (ja) | ソフトウェアアプリケーションのプロファイリング方法及び装置 | |
US8402317B1 (en) | Viewing multi-dimensional metric data from multiple test cases | |
US8108849B2 (en) | Method and apparatus for generating computer programming code selectively optimized for execution performance and not optimized for serviceability | |
US7509632B2 (en) | Method and apparatus for analyzing call history data derived from execution of a computer program | |
US8554811B2 (en) | Software routine fingerprints in performance data | |
US11748072B2 (en) | Apparatus and method for source code optimisation | |
US20010032332A1 (en) | Method of generating profile-optimized code | |
US8732676B1 (en) | System and method for generating unit test based on recorded execution paths | |
KR100921514B1 (ko) | 성능 예측 기능을 제공하는 소프트웨어 개발 장치 및 방법 | |
CN104850411B (zh) | 存储系统基准评测程序生成方法及装置 | |
US20120131559A1 (en) | Automatic Program Partition For Targeted Replay | |
Drebes et al. | Aftermath: A graphical tool for performance analysis and debugging of fine-grained task-parallel programs and run-time systems | |
Frank et al. | Parallelization, modeling, and performance prediction in the multi-/many core area: A systematic literature review | |
Zhang et al. | Understanding the performance of GPGPU applications from a data-centric view | |
US10102099B2 (en) | Performance information generating method, information processing apparatus and computer-readable storage medium storing performance information generation program | |
Wilhelm et al. | Parceive: Interactive parallelization based on dynamic analysis | |
Wylie et al. | Large-scale performance analysis of Sweep3D with the Scalasca toolset | |
Willnecker et al. | Model-based prediction of automatic memory management and garbage collection behavior | |
JP4997144B2 (ja) | マルチタスク処理装置およびその方法 | |
Molitorisz et al. | Locating parallelization potential in object-oriented data structures | |
Dahdouh et al. | ‘Programmatic effect of optimized smali code on saving energy of android applications | |
JP5287427B2 (ja) | シンボリックデバッガ、方法およびプログラム | |
Moesus et al. | A rating tool for the automated selection of software refactorings that remove antipatterns to improve performance and stability | |
Hung et al. | New tracing and performance analysis techniques for embedded applications | |
Tan | Program Analysis For Software Engineers And Students |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140918 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141014 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141027 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5648584 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |