JPH02236646A - プログラム性能測定方式 - Google Patents
プログラム性能測定方式Info
- Publication number
- JPH02236646A JPH02236646A JP1056493A JP5649389A JPH02236646A JP H02236646 A JPH02236646 A JP H02236646A JP 1056493 A JP1056493 A JP 1056493A JP 5649389 A JP5649389 A JP 5649389A JP H02236646 A JPH02236646 A JP H02236646A
- Authority
- JP
- Japan
- Prior art keywords
- flag
- subroutine
- measurement
- performance
- program
- 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.)
- Pending
Links
- 238000000691 measurement method Methods 0.000 claims description 3
- 238000005259 measurement Methods 0.000 abstract description 21
- 238000011156 evaluation Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011002 quantification Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野〕
本発明は、プログラムの性能ネックとなっているサブル
ーチンを明らかにし、システムが達成すべき性能を実現
するために実施される性能測定に関する. 〔従来の技術〕 従来の性能測定方式は、パーソナルメディア(株)発行
のrUNIX原典」に記載されているように、それぞれ
のルーチンのコンパイル時に組み込まれた性能測定処理
ルーチンにより、一定周期に発行されるハードウエアク
ロツクごとに、どのルーチンを実行しているかカーネル
がチェックし、その回数をルーチン毎にカウントする方
式をとっていた. 〔発明が解決しようとする課題〕 上記従来技術では、プログラムデバッグ後,性能評価用
オブジェクトを出力し、性能評価を行い,その後、実稼
働用オブジェクトを出力しなければならない。また、す
でに実稼働中のシステムにおいて、性能評価を行う場合
にはもう一度、全てのプログラムをリコンパイルし、性
能評価用のオブジェクI一を出力しなければならない。
ーチンを明らかにし、システムが達成すべき性能を実現
するために実施される性能測定に関する. 〔従来の技術〕 従来の性能測定方式は、パーソナルメディア(株)発行
のrUNIX原典」に記載されているように、それぞれ
のルーチンのコンパイル時に組み込まれた性能測定処理
ルーチンにより、一定周期に発行されるハードウエアク
ロツクごとに、どのルーチンを実行しているかカーネル
がチェックし、その回数をルーチン毎にカウントする方
式をとっていた. 〔発明が解決しようとする課題〕 上記従来技術では、プログラムデバッグ後,性能評価用
オブジェクトを出力し、性能評価を行い,その後、実稼
働用オブジェクトを出力しなければならない。また、す
でに実稼働中のシステムにおいて、性能評価を行う場合
にはもう一度、全てのプログラムをリコンパイルし、性
能評価用のオブジェクI一を出力しなければならない。
リコンパイルを実施することは、プログラム数が多くな
る程リコンパイルに時間がかかり、メモリ容量も大きく
なる問題があった。
る程リコンパイルに時間がかかり、メモリ容量も大きく
なる問題があった。
本発明の目的は、性能評価を行う場合に性能評価用オブ
ジェク1・を出力するのではなく、実稼働用オブジェク
トを共用し,プログラム開発の生産性向上を図ることを
l」的とする。
ジェク1・を出力するのではなく、実稼働用オブジェク
トを共用し,プログラム開発の生産性向上を図ることを
l」的とする。
前述したように、従来は性能測定用の処理を測定プログ
ラムに組み込んでいたために、容量においても処理性能
においても大きくなる程大きくなった.これをそのまま
実稼働用として用いることは、システム全体のメモリ利
用効率や性能の面で非常に問題であった.本発明では、
プログラムを各サブルーチン毎の性能測定を可能としつ
つ、性能測定プログラムをそのまま実稼働用として使用
することを可能とするものである。すなわち、測定の要
否を示すフラグを参照して測定を行う機構を設けること
により、プログラムに変更を加えずにフラグのon/o
ffだけで測定する/しないを選択可能とした.また、
各サブルーチン毎の性能測定を可能とするためにcal
l/return命令にタイマカウンタの内容を退避,
回復する機能を持たせた。
ラムに組み込んでいたために、容量においても処理性能
においても大きくなる程大きくなった.これをそのまま
実稼働用として用いることは、システム全体のメモリ利
用効率や性能の面で非常に問題であった.本発明では、
プログラムを各サブルーチン毎の性能測定を可能としつ
つ、性能測定プログラムをそのまま実稼働用として使用
することを可能とするものである。すなわち、測定の要
否を示すフラグを参照して測定を行う機構を設けること
により、プログラムに変更を加えずにフラグのon/o
ffだけで測定する/しないを選択可能とした.また、
各サブルーチン毎の性能測定を可能とするためにcal
l/return命令にタイマカウンタの内容を退避,
回復する機能を持たせた。
上記の手段を用いることにより,問題を解決した。
本発明では、測定の要否を示すフラグを設け、このフラ
グを参照して性能測定を行う機構は、フラグがonの場
合に性能測定を行い、フラグがoffの場合に性能測定
は行わない。それによって,オブジェクトを共用するこ
とを可能とした。
グを参照して性能測定を行う機構は、フラグがonの場
合に性能測定を行い、フラグがoffの場合に性能測定
は行わない。それによって,オブジェクトを共用するこ
とを可能とした。
また本発明では, call/ return命令にタ
イマカウンタの内容を退避,回復を行う機能を持たせる
ことにより、各サブルーチン毎に実行時間の測定を可能
とした. 〔実施例〕 以下、本発明の一実施例を図により説明する.第1図に
おいて,主記憶101に、ユーザプログラムのメインル
ーチン102、そのサブルーチンSU[lAl03,
SUBB104,性能測定実施の有無を示すsetmo
deフラグ105、どのルーチンから呼ばれたかを示す
ネストカウンタ106、各サブルーチンの実行時間を退
避するタイムテーブル107を割り当てる。第3図にお
いて、タイムテーブルは,リン力がサブルーチンをリン
クするとき得たサブルーチン名301と,実行時間30
2からなる。
イマカウンタの内容を退避,回復を行う機能を持たせる
ことにより、各サブルーチン毎に実行時間の測定を可能
とした. 〔実施例〕 以下、本発明の一実施例を図により説明する.第1図に
おいて,主記憶101に、ユーザプログラムのメインル
ーチン102、そのサブルーチンSU[lAl03,
SUBB104,性能測定実施の有無を示すsetmo
deフラグ105、どのルーチンから呼ばれたかを示す
ネストカウンタ106、各サブルーチンの実行時間を退
避するタイムテーブル107を割り当てる。第3図にお
いて、タイムテーブルは,リン力がサブルーチンをリン
クするとき得たサブルーチン名301と,実行時間30
2からなる。
ユーザがオブジェク1〜実行する際に、性能測定を行う
か選択する。性能潤定実施と判断された場合は、set
mode フラグ105がOnとする.オブジェクト実
行中、56tmodeフラグ105がonになっていれ
ば,タイムカウンタ108は常にカウントアップされる
。命令を実行するとき(201).その命令がサブルー
チン103へ分岐することを命じるcallサブルーチ
ン命令であるか判定する(202)。callサブルー
チン命令であった場合は、分岐する前に、call命令
で以下の処理を行う.タイムカウンタ108の内容を、
タイムテーブル107上のメインルーチンに当たる部分
110に退避する.ネストカウンタ106はスタック構
造になっており、サブルーチンを呼んだメインルーチン
の名称を積む。その後タイムカウンタ108の内容をク
リアし、サブルーチン103へ分岐する. また命令がreturn命令である場合(206)、r
eturn命令で以下の処理を行ってから、サブルーチ
ン103を呼んだ戻りルーチン102へ戻る。
か選択する。性能潤定実施と判断された場合は、set
mode フラグ105がOnとする.オブジェクト実
行中、56tmodeフラグ105がonになっていれ
ば,タイムカウンタ108は常にカウントアップされる
。命令を実行するとき(201).その命令がサブルー
チン103へ分岐することを命じるcallサブルーチ
ン命令であるか判定する(202)。callサブルー
チン命令であった場合は、分岐する前に、call命令
で以下の処理を行う.タイムカウンタ108の内容を、
タイムテーブル107上のメインルーチンに当たる部分
110に退避する.ネストカウンタ106はスタック構
造になっており、サブルーチンを呼んだメインルーチン
の名称を積む。その後タイムカウンタ108の内容をク
リアし、サブルーチン103へ分岐する. また命令がreturn命令である場合(206)、r
eturn命令で以下の処理を行ってから、サブルーチ
ン103を呼んだ戻りルーチン102へ戻る。
カウンタ108の内容をタイムテーブル107上の現在
、実行中のルーチンに当たる部分111へ退避する.(
207)。ネストカウンタ106は、サブルーチン10
3を呼んだルーチン102の名称が入っている.ネスト
カウンタIOGから、ルーチン102の名称を取り出し
、タイムテーブル107からも、戻り先ルーチン102
に対応する部分110の内容を回復し、タイムカウンタ
108に設定する.ルーチン102に戻ると、タイムカ
ウンタ108は、その数からカウントアップされる。
、実行中のルーチンに当たる部分111へ退避する.(
207)。ネストカウンタ106は、サブルーチン10
3を呼んだルーチン102の名称が入っている.ネスト
カウンタIOGから、ルーチン102の名称を取り出し
、タイムテーブル107からも、戻り先ルーチン102
に対応する部分110の内容を回復し、タイムカウンタ
108に設定する.ルーチン102に戻ると、タイムカ
ウンタ108は、その数からカウントアップされる。
この時, setmodeフラグ105がoffならば
、return命令のときは、上記処理を行わず、戻り
先ルーチン102へ戻る. 全てのサブルーチン103,104、およびメインルー
チン102の実行を終了すると、タイムテーブル107
には、それぞれのルーチンの実行時間が格納される。
、return命令のときは、上記処理を行わず、戻り
先ルーチン102へ戻る. 全てのサブルーチン103,104、およびメインルー
チン102の実行を終了すると、タイムテーブル107
には、それぞれのルーチンの実行時間が格納される。
本実施例によれば、オブジェクト実行時に性能測定を行
うか、行わないかを選択することにより,同一オブジェ
クトを実稼働用にも、性能測定用にも使用可能となる効
果がある。
うか、行わないかを選択することにより,同一オブジェ
クトを実稼働用にも、性能測定用にも使用可能となる効
果がある。
(発明の効果〕
本発明によれば、性能測定を実施後改めて、実稼働用の
オブジェクトを出力する必要がないので、オブジェクト
を共用でき、プログラムの生産性向上を図る効果がある
。
オブジェクトを出力する必要がないので、オブジェクト
を共用でき、プログラムの生産性向上を図る効果がある
。
また本発明によれば、現在、稼働中のシステムの大量の
プログラムの性能測定を行う場合、リコンパイルする必
要がなく、システムの評価を容易にする効果がある。
プログラムの性能測定を行う場合、リコンパイルする必
要がなく、システムの評価を容易にする効果がある。
第1図は本発明の実施例の主記憶の割り当てを示す図、
第2図は実施例の性能測定の方法を示す処理フロー図、
第3図は実施例のタイムテーブル107の構成を示す図
である。 101・・・主記憶、102・・・メインルーチン、1
03,1 0 4−・・サブルーチン、l Q 5 ・
−setmodeフラグ、106・・・ネストカウンタ
,1o7・・・タイムテーブル、108・・・タイマカ
ウンタ。 第1図 第2図
第2図は実施例の性能測定の方法を示す処理フロー図、
第3図は実施例のタイムテーブル107の構成を示す図
である。 101・・・主記憶、102・・・メインルーチン、1
03,1 0 4−・・サブルーチン、l Q 5 ・
−setmodeフラグ、106・・・ネストカウンタ
,1o7・・・タイムテーブル、108・・・タイマカ
ウンタ。 第1図 第2図
Claims (1)
- 1、サブルーチンのcall、return命令を有す
る計算機システムにおいて、call命令からretu
rn命令までの時間を計測するためのタイマカウンタと
サブルーチンcall時に該カウンタの値を退避するた
めの手段と前記call命令からreturn命令まで
の時間を計測するかしないかを示すフラグ、該フラグを
セット/リセットするための機械命令及び該フラグを参
照して前記タイムカウンタを一定時間毎にカウントアッ
プする機構とを有し、前記フラグをセットすることによ
り、前記タイマカウンタを一定時間毎にカウントアップ
し、サブルーチンのcall時、タイマカウンタの値を
退避し、return命令実行時に戻り先のサブルーチ
ンに対応するタイムテーブルの内容をタイマカウンタに
回復することにより、サブルーチン毎の実行時間の計測
を可能とするプログラム性能測定方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1056493A JPH02236646A (ja) | 1989-03-10 | 1989-03-10 | プログラム性能測定方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1056493A JPH02236646A (ja) | 1989-03-10 | 1989-03-10 | プログラム性能測定方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02236646A true JPH02236646A (ja) | 1990-09-19 |
Family
ID=13028620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1056493A Pending JPH02236646A (ja) | 1989-03-10 | 1989-03-10 | プログラム性能測定方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02236646A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07129438A (ja) * | 1993-11-02 | 1995-05-19 | Nec Corp | 情報処理性能測定方法 |
JPH07200368A (ja) * | 1993-12-29 | 1995-08-04 | Nec Corp | モジュール単位の性能情報管理システム |
US9740541B2 (en) | 2012-10-01 | 2017-08-22 | Fujitsu Limited | Information processing apparatus and method of collecting performance analysis data |
-
1989
- 1989-03-10 JP JP1056493A patent/JPH02236646A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07129438A (ja) * | 1993-11-02 | 1995-05-19 | Nec Corp | 情報処理性能測定方法 |
JPH07200368A (ja) * | 1993-12-29 | 1995-08-04 | Nec Corp | モジュール単位の性能情報管理システム |
US9740541B2 (en) | 2012-10-01 | 2017-08-22 | Fujitsu Limited | Information processing apparatus and method of collecting performance analysis data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69810064T2 (de) | Verfahren und Anordnung zur Veränderung der Durchführung eines Nachfolgebefehls in einem Dataprozessor | |
US8689215B2 (en) | Structured exception handling for application-managed thread units | |
US6047390A (en) | Multiple context software analysis | |
US5257372A (en) | Methods for efficient distribution of parallel tasks to slave processes in a multiprocessing system | |
US5799143A (en) | Multiple context software analysis | |
US20020184615A1 (en) | System and method for selectively and automatically modifying the source code of a computer program | |
US8117614B2 (en) | Extract CPU time facility | |
JPH02236646A (ja) | プログラム性能測定方式 | |
JPH01273136A (ja) | オペレーティングシステムのファームウェア化方式 | |
JP3339708B2 (ja) | イベント記録方式 | |
JPH0552535B2 (ja) | ||
JPH08249018A (ja) | マルチプロセッサ演算装置、および該装置を有するプログラマブルコントローラ | |
Marti | Compilation techniques for a control-flow concurrent LISP system | |
Huang et al. | A denotational model for interrupt-driven programs | |
CN117785680A (zh) | 一种基于嵌入式dsp操作系统的系统快照获取及应用方法 | |
JPH0283749A (ja) | マイクロプロセッサの内部割込み制御方式 | |
JPH0764802A (ja) | リアルタイムシステムのシミュレーション装置 | |
JPH05127945A (ja) | プログラム実行状況解析方式 | |
JP2591818B2 (ja) | 補助機能の選択制御方法 | |
Cook | The cost of using the CAP computer's protection facilities | |
JPS63289654A (ja) | プログラム分岐命令モニタ方式 | |
Cohen et al. | Exploitation of multithreading to improve program performance | |
Trachsel et al. | A platform for competitive execution | |
JPS62187945A (ja) | 計算機システム | |
JPS61241843A (ja) | 情報処理装置 |