JP5029245B2 - プロファイリング方法及びプログラム - Google Patents
プロファイリング方法及びプログラム Download PDFInfo
- Publication number
- JP5029245B2 JP5029245B2 JP2007243478A JP2007243478A JP5029245B2 JP 5029245 B2 JP5029245 B2 JP 5029245B2 JP 2007243478 A JP2007243478 A JP 2007243478A JP 2007243478 A JP2007243478 A JP 2007243478A JP 5029245 B2 JP5029245 B2 JP 5029245B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- program
- target
- information
- profiling
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
(a) -sc TOP_LABEL,*/code, BOTTOM_LABEL,...,*,WORK_AREA
(b) -sc TOP_LABEL=0x00000100,BOTTOM_LABEL=0x00001100,WORK_AREA=0x01000000
リンク時のターゲット範囲の指定(GUI指定方法)は、例えば図5に示すようになる。図5は、セクション名を表示したリスト一覧から、TOP_LABEL (S)とBOTTOM_LABEL(E)を指定する場合を示す。
ステップS3では、起動されたタイマにより一定間隔で割り込み発生させる。割り込み間隔は、開始指定APIで指定する。ステップS4では、コード部配置領域51Aの開始位置TOP_LABELのアドレスからの相対アドレスαを求め、書き込み可能領域51Bの先頭からこの相対アドレスαに対応する位置に割り込み回数データを「+1」だけインクリメントしたデータを格納する。ステップS5では、タイマを終了し、メモリにある割り込み回数データがデバッガ等に取り込まれる。
(付記1)
所定の条件が満たされた際に発生する割り込みにより起動される割り込みハンドラにより情報収集の対象となる対象プログラムの実行状況に関する情報を収集するコンピュータによるプロファイリング方法であって、
該対象プログラムに対して該割り込みハンドラにより情報収集を行うターゲット範囲を指定するターゲット範囲指定ステップと、
該ターゲット範囲で該割り込みが発生した際に該割り込みハンドラにより収集される情報をメモリに設定する情報設定ステップとを含むことを特徴とするプロファイリング方法。
(付記2)
該ターゲット範囲指定ステップは、該対象プログラムに、該割り込みハンドラを含むプロファイリングプログラムと、コード範囲マーク用シンボルソース又はオブジェクトをリンクさせる際に、該ターゲット範囲を指定することを特徴とする付記1記載のプロファイリング方法。
(付記3)
該割り込みは、該コンピュータ内部のイベント及び/又は該コンピュータ外部とのやり取りのイベントをカウントするハードウェアカウンタのカウント値に基づき発生することを特徴とする付記1又は2記載のプロファイリング方法。
(付記4)
該割り込みハンドラにより収集された情報に含まれるサンプリング値及びハードウェアイベント情報を、命令毎に対応付けた該メモリの領域に実行回数又はイベント発生回数として設定するステップを含むことを特徴とする付記1乃至3のいずれか1項記載のプロファイリング方法。
(付記5)
該割り込みハンドラにより収集された情報に含まれるサンプリング値を実行形式プログラムと照合し、実行頻度の高い関数、処理及び命令を対比し、対応するCソース又は機械語命令と照合して、該コンピュータに接続される解析プロセッサの表示部に表示するステップを含むことを特徴とする付記1乃至3のいずれか1項記載のプロファイリング方法。
(付記6)
該割り込みハンドラにより収集される情報に含まれるサンプリング値及びハードウェアイベント情報をマージして経験値として該メモリに保持するステップを含むことを特徴とする付記1乃至5のいずれか1項記載のプロファイリング方法。
(付記7)
コンピュータに、所定の条件が満たされた際に発生する割り込みにより起動される割り込みハンドラにより情報収集の対象となる対象プログラムの実行状況に関する情報を収集するプロファイリングを行わせるプログラムであって、
該対象プログラムに対して該割り込みハンドラにより情報収集を行うターゲット範囲を指定させるターゲット範囲指定手順と、
該ターゲット範囲で該割り込みが発生した際に該割り込みハンドラにより収集される情報をメモリに設定させる情報設定手順とを該コンピュータに実行させることを特徴とするプログラム。
(付記8)
該ターゲット範囲指定手順は、該対象プログラムに、該割り込みハンドラを含むプロファイリングプログラムと、コード範囲マーク用シンボルソース又はオブジェクトをリンクさせる際に、該ターゲット範囲を指定させることを特徴とする付記7記載のプログラム。
(付記9)
該割り込みは、該コンピュータ内部のイベント及び/又は該コンピュータ外部とのやり取りのイベントをカウントするハードウェアカウンタのカウント値に基づき発生することを特徴とする付記7又は8記載のプログラム。
(付記10)
該割り込みハンドラにより収集された情報に含まれるサンプリング値及びハードウェアイベント情報を、命令毎に対応付けた該メモリの領域に実行回数として設定させる手順を該コンピュータに実行させることを特徴とする付記7乃至9のいずれか1項記載のプログラム。
(付記11)
該割り込みハンドラにより収集された情報に含まれるサンプリング値を実行形式プログラムと照合させ、実行頻度の高い関数、処理及び命令を対比させ、対応するCソース又は機械語命令と照合させ、該コンピュータに接続される解析プロセッサの表示部に表示させる手順を該コンピュータに実行させることを特徴とする付記7乃至9のいずれか1項記載のプログラム。
(付記12)
該割り込みハンドラにより収集される情報に含まれるサンプリング値及びハードウェアイベント情報をマージして経験値として該メモリに保持させる手順を該コンピュータに実行させることを特徴とする付記7乃至11のいずれか1項記載のプログラム。
10 コンピュータハードウェア
20 オペレーティングシステム
30 アプリケーションプログラム
100 ポロファイリングプログラム
140 割り込みハンドラ
201 測定用プロセッサ
202 メモリ
203 解析プロセッサ
211 プロセッサコア
212 キャッシュメモリ
213 ハードウェアカウンタ
214 内蔵タイマ
221 解析対象プログラム
222 プロファイリングプログラム
223 テーブル
Claims (6)
- 所定の条件が満たされた際に発生する割り込みにより起動される割り込みハンドラにより、情報収集の対象となる対象プログラムの割り込み発生時の実行アドレスに対応する情報を収集するコンピュータによるプロファイリング方法であって、
前記対象プログラムに、前記割り込みハンドラを含むプロファイリングプログラムと、コード範囲マーク用シンボルソース又はオブジェクトをリンクさせる際に、前記対象プログラムに対して前記割り込みハンドラにより情報収集を行うターゲット範囲を指定するターゲット範囲指定ステップと、
前記対象プログラムの割り込み発生時の実行アドレスが前記ターゲット範囲内であれば前記割り込みハンドラにより収集される当該実行アドレスに対応するイベントの値をメモリに設定する情報設定ステップと
を含むことを特徴とするプロファイリング方法。 - 前記割り込みは、前記コンピュータ内部のイベント及び/又は前記コンピュータ外部とのやり取りのイベントをカウントするハードウェアカウンタのカウント値に基づき発生することを特徴とする請求項1記載のプロファイリング方法。
- 前記対象プログラムの割り込み発生時の実行アドレスと割り込み回数と前記メモリに格納されているプログラム定義とに基づいて、プログラム位置と前記割り込み回数を、前記プログラム位置と対応するソースプログラムの関数名を対応付けて解析プロセッサの表示部に表示するステップ
を更に含むことを特徴とする請求項1又は2記載のプロファイリング方法。 - 前記割り込みハンドラにより収集される情報に含まれる前記イベントの情報及びハードウェアイベントの情報をマージして経験値として前記メモリに保持するステップ
を更に含むことを特徴とする請求項1乃至3のいずれか1項記載のプロファイリング方法。 - コンピュータに、所定の条件が満たされた際に発生する割り込みにより起動される割り込みハンドラにより、情報収集の対象となる対象プログラムの割り込み発生時の実行アドレスに対応する情報を収集するプロファイリングを行わせるプログラムであって、
前記対象プログラムに、前記割り込みハンドラを含むプロファイリングプログラムと、コード範囲マーク用シンボルソース又はオブジェクトをリンクさせる際に、前記対象プログラムに対して前記割り込みハンドラにより情報収集を行うターゲット範囲を指定させるターゲット範囲指定手順と、
前記対象プログラムの割り込み発生時の実行アドレスが前記ターゲット範囲内であれば前記割り込みハンドラにより収集される当該実行アドレスに対応するイベントの値をメモリに設定させる情報設定手順と
を前記コンピュータに実行させることを特徴とするプログラム。 - 命令毎に対応付けた前記メモリの領域に、前記割り込みハンドラにより収集された情報に含まれる前記イベントの実行回数又はイベント発生回数、及びハードウェアイベントの実行回数又はイベント発生回数を設定させる手順
を前記コンピュータに実行させることを特徴とする請求項5記載のプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007243478A JP5029245B2 (ja) | 2007-09-20 | 2007-09-20 | プロファイリング方法及びプログラム |
US12/210,552 US20090083716A1 (en) | 2007-09-20 | 2008-09-15 | Profiling method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007243478A JP5029245B2 (ja) | 2007-09-20 | 2007-09-20 | プロファイリング方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009075812A JP2009075812A (ja) | 2009-04-09 |
JP5029245B2 true JP5029245B2 (ja) | 2012-09-19 |
Family
ID=40473084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007243478A Expired - Fee Related JP5029245B2 (ja) | 2007-09-20 | 2007-09-20 | プロファイリング方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090083716A1 (ja) |
JP (1) | JP5029245B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5326708B2 (ja) * | 2009-03-18 | 2013-10-30 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
US8850402B2 (en) * | 2009-05-22 | 2014-09-30 | International Business Machines Corporation | Determining performance of a software entity |
WO2012155968A1 (en) * | 2011-05-18 | 2012-11-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for enabling analysis of a computer program execution |
US10282326B1 (en) * | 2014-10-29 | 2019-05-07 | Xilinx, Inc. | Active interrupt handler performance monitoring in microprocessors |
US9753731B1 (en) * | 2015-01-16 | 2017-09-05 | The Mathworks, Inc. | Methods and systems for analyzing and improving performance of computer codes |
JP6693308B2 (ja) * | 2016-07-05 | 2020-05-13 | 富士通株式会社 | 負荷推定プログラム、負荷推定方法及び負荷推定装置 |
US10455188B2 (en) | 2016-11-18 | 2019-10-22 | Microsoft Technology Licensing, Llc | Correlating UI with CPU stacks for profiling sessions |
JP7415321B2 (ja) * | 2019-01-18 | 2024-01-17 | 富士フイルムビジネスイノベーション株式会社 | 制御装置、及び制御プログラム |
CN110851297B (zh) * | 2019-11-08 | 2023-08-22 | 深圳市易检车服科技有限公司 | 一种接口抖动状态的处理方法、装置、系统及介质 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS593651A (ja) * | 1982-06-30 | 1984-01-10 | Fujitsu Ltd | フア−ムウエアによる性能測定システム |
JP2777496B2 (ja) * | 1991-02-28 | 1998-07-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステムにおいてマルチプロセスをプロファイリングする際の使用方法 |
JPH04320548A (ja) * | 1991-04-20 | 1992-11-11 | Fujitsu Ltd | 実行動作情報採取装置 |
JPH07191882A (ja) * | 1993-12-27 | 1995-07-28 | Nec Corp | メモリアクセス頻度測定方式 |
JPH07219755A (ja) * | 1994-02-03 | 1995-08-18 | Fuji Electric Co Ltd | データファイル内容の表示方法 |
EP0689141A3 (en) * | 1994-06-20 | 1997-10-15 | At & T Corp | Disruption-based hardware support for system performance profiling |
JPH096644A (ja) * | 1995-06-16 | 1997-01-10 | Hitachi Ltd | ソフトウエアデバッグ方法 |
US6154857A (en) * | 1997-04-08 | 2000-11-28 | Advanced Micro Devices, Inc. | Microprocessor-based device incorporating a cache for capturing software performance profiling data |
US5974536A (en) * | 1997-08-14 | 1999-10-26 | Silicon Graphics, Inc. | Method, system and computer program product for profiling thread virtual memory accesses |
US6662358B1 (en) * | 1997-12-12 | 2003-12-09 | International Business Machines Corporation | Minimizing profiling-related perturbation using periodic contextual information |
JP3199013B2 (ja) * | 1998-01-26 | 2001-08-13 | 日本電気株式会社 | 言語処理方法及び言語処理装置並びに言語処理プログラムを記録した記憶媒体 |
US6079032A (en) * | 1998-05-19 | 2000-06-20 | Lucent Technologies, Inc. | Performance analysis of computer systems |
US6493868B1 (en) * | 1998-11-02 | 2002-12-10 | Texas Instruments Incorporated | Integrated development tool |
US6345295B1 (en) * | 1999-01-22 | 2002-02-05 | International Business Machines Corporation | Conducting traces in a computer system attachment network |
US7013456B1 (en) * | 1999-01-28 | 2006-03-14 | Ati International Srl | Profiling execution of computer programs |
US6374369B1 (en) * | 1999-05-21 | 2002-04-16 | Philips Electronics North America Corporation | Stochastic performance analysis method and apparatus therefor |
DE10036278A1 (de) * | 2000-07-26 | 2002-02-07 | Bosch Gmbh Robert | Verfahren zur Überwachung eines Programmablaufs mittels einer Debug Logik |
JP2002202900A (ja) * | 2000-12-28 | 2002-07-19 | Seiko Epson Corp | デバッグ装置 |
GB0125628D0 (en) * | 2001-10-25 | 2001-12-19 | Ibm | Computer system with watchpoint support |
JP2003140928A (ja) * | 2001-11-02 | 2003-05-16 | Fujitsu Ltd | 仮想マシン内部情報自動取得システム |
US7194732B2 (en) * | 2003-06-26 | 2007-03-20 | Hewlett-Packard Development Company, L.P. | System and method for facilitating profiling an application |
US7373637B2 (en) * | 2003-09-30 | 2008-05-13 | International Business Machines Corporation | Method and apparatus for counting instruction and memory location ranges |
US7937691B2 (en) * | 2003-09-30 | 2011-05-03 | International Business Machines Corporation | Method and apparatus for counting execution of specific instructions and accesses to specific data locations |
US7526757B2 (en) * | 2004-01-14 | 2009-04-28 | International Business Machines Corporation | Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program |
JP2005215816A (ja) * | 2004-01-28 | 2005-08-11 | Hitachi Ltd | ハードウェアモニタを用いた性能プロファイリング方法 |
US20060059486A1 (en) * | 2004-09-14 | 2006-03-16 | Microsoft Corporation | Call stack capture in an interrupt driven architecture |
US7721268B2 (en) * | 2004-10-01 | 2010-05-18 | Microsoft Corporation | Method and system for a call stack capture |
US7716647B2 (en) * | 2004-10-01 | 2010-05-11 | Microsoft Corporation | Method and system for a system call profiler |
US7380241B2 (en) * | 2004-12-07 | 2008-05-27 | International Business Machines Corporation | Scalable and improved profiling of software programs |
US7640539B2 (en) * | 2005-04-12 | 2009-12-29 | International Business Machines Corporation | Instruction profiling using multiple metrics |
JP4832125B2 (ja) * | 2006-03-15 | 2011-12-07 | 富士通セミコンダクター株式会社 | 性能解析装置、性能解析方法、性能解析プログラム、および記録媒体 |
JP4681491B2 (ja) * | 2006-03-31 | 2011-05-11 | 富士通株式会社 | プロファイリングプログラムおよびプロファイリング方法 |
US7895581B2 (en) * | 2007-01-26 | 2011-02-22 | Hewlett-Packard Development Company, L.P. | Profiling collector for computer system |
JP4940996B2 (ja) * | 2007-02-23 | 2012-05-30 | 富士通セミコンダクター株式会社 | プロファイリング装置およびプロファイリングプログラム |
US8041901B2 (en) * | 2007-03-05 | 2011-10-18 | Freescale Semiconductor, Inc. | Performance monitoring device and method thereof |
US8074207B1 (en) * | 2007-05-31 | 2011-12-06 | Adobe Systems Incorporated | Application profiling |
-
2007
- 2007-09-20 JP JP2007243478A patent/JP5029245B2/ja not_active Expired - Fee Related
-
2008
- 2008-09-15 US US12/210,552 patent/US20090083716A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20090083716A1 (en) | 2009-03-26 |
JP2009075812A (ja) | 2009-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5029245B2 (ja) | プロファイリング方法及びプログラム | |
JP4681491B2 (ja) | プロファイリングプログラムおよびプロファイリング方法 | |
US8490061B2 (en) | Profiling application performance according to data structure | |
US8024719B2 (en) | Bounded hash table sorting in a dynamic program profiling system | |
Shen et al. | Cudaadvisor: Llvm-based runtime profiling for modern gpus | |
Pourghassemi et al. | What-if analysis of page load time in web browsers using causal profiling | |
Liu et al. | Pinpointing data locality problems using data-centric analysis | |
US20060230390A1 (en) | Instruction profiling using multiple metrics | |
Moseley et al. | Identifying potential parallelism via loop-centric profiling | |
EP3835944B1 (en) | Apparatus and method for source code optimisation | |
Liu et al. | Pinpointing data locality bottlenecks with low overhead | |
Wang et al. | Featherlight reuse-distance measurement | |
Doray et al. | Diagnosing performance variations by comparing multi-level execution traces | |
US20080209403A1 (en) | Profiling apparatus and profiling program | |
Schulz et al. | Owl: next generation system monitoring | |
US8612952B2 (en) | Performance optimization based on data accesses during critical sections | |
Moseley et al. | Hardware performance monitoring for the rest of us: a position and survey | |
US7735073B1 (en) | Method and apparatus for data object profiling | |
JP6544054B2 (ja) | 情報処理装置、実行情報記録プログラムおよび実行情報記録方法 | |
US8261245B2 (en) | Method and system for associating profiler data with a reference clock | |
Bai et al. | A framework for calculating WCET based on execution decision diagrams | |
US20110239197A1 (en) | Instance-based field affinity optimization | |
US7827543B1 (en) | Method and apparatus for profiling data addresses | |
Botezatu | A study on compiler flags and performance events | |
JP6834457B2 (ja) | エミュレーション性能算出装置、エミュレーション性能算出システム、エミュレーション性能算出方法、および、エミュレーション性能算出プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100430 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110722 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110809 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111101 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111227 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120502 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120510 |
|
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: 20120529 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120611 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5029245 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150706 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |