JPH0193826A - 高級言語プログラムのダイナミックステップカウント方式 - Google Patents

高級言語プログラムのダイナミックステップカウント方式

Info

Publication number
JPH0193826A
JPH0193826A JP62249799A JP24979987A JPH0193826A JP H0193826 A JPH0193826 A JP H0193826A JP 62249799 A JP62249799 A JP 62249799A JP 24979987 A JP24979987 A JP 24979987A JP H0193826 A JPH0193826 A JP H0193826A
Authority
JP
Japan
Prior art keywords
program
dynamic
steps
module
file
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
Application number
JP62249799A
Other languages
English (en)
Inventor
Shinichi Shoji
荘司 信一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62249799A priority Critical patent/JPH0193826A/ja
Publication of JPH0193826A publication Critical patent/JPH0193826A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は高級言語で記述されたプログラムのダイナミッ
クステップカウント方式に関する。
〔従来の技術〕
プログラムのダイナミックステップ数をカウントする方
法としては・・−ドウエア的に測定する方法(特開昭5
4−137938号)が知られている。
この方法ではある任意の期間中に芙行した命令ステップ
数の総和だけが求まる。したがって個々のモジュールま
たは文毎のダイナミックステップ数が必要な場合はワー
クシート等を用いて手作業で求める必要がある。
〔発明が解決しようとする問題点〕
プログラムの性能評価、性能改菩を行な54合具体的に
プログラムのど9部分がネックとなっているかを明らか
Kする必要がある。
しかし、上記従来技術(・・−ドウエア的に測定する方
式)ではプログラムの総ダイナミックステップ数しか求
めることができないため性能上ネックとなっている部分
が不明確であるという問題があった。
また手作業でカウントする場合は多大な労力及び時間が
かかるという問題があった。特に高級言語の場合は一つ
の文が機械命令で何ステップになるのかも調べる必要が
あり問題である。
本発明はプログラム全体、モジュール、文の各レベルで
のダイナミックステップ数を簡単に求めることができる
ようにし、これによってプログラムの性能上の問題点の
発見を容易にすることを目的とする。
〔問題点を解決するための手段〕
上記目的はコンパイラに +1)  ソースプログラムの各文対応の機械命令のス
テップ数情報の出力機能 (2)  ソースプログラムの各文対応の通過回数を実
行時にカウントする命令の出力機能 を追加し、プログラムの実行後ダイナミックステップ数
算出プログラムで文、モジエール普プログラムの各レベ
ル毎に編集出力することにより達成される。
〔作用〕
コンパイラはソースプログラムのコンノくイル時各文毎
に機械命令でのステップ数をステップ数情報ファイルに
出力する。
また同時に各文毎に通過回数をカウントするための命令
語も出力することにより、このプログラムの実行時、各
文毎の通過回数が通過回数情報ファイルに出力される。
これらステップ数情報ファイル及び通過回数情報ファイ
ルを入力として各文毎にステップ数×通過回数を計算す
ることによりダイナミックステップ数ヲ求めることがで
きる。更に各文のダイナミックステップ数からモジエー
ル毎およびプログラム全体のダイナミックステップ数も
算出できる。
〔実施例〕
以下図面を参照して不発明の一実施例について説明する
まず第1図を用いて全体構成について説明する。
コンパイラ2はソースファイル1からソースプログラム
を入力し、(I)オブジェクトファイル3にオブジェク
トプログラム、(2)モジュール名情報ファイル4にモ
ジュール名情報、(3)ステップ数情報ファイル5にス
テップ数情報を出力する。
次にリンケージエディタによシオブジェクトプログラム
からロードモジュール6′fr−作成する。通過回数カ
ウントプログラムはロードモジエール6の実行時にロー
ドモジュール6からコールされ、通過回数情報ファイル
8に通過回数情報を出力する。
ロードモジエール6の実行終了後オペレータによりダイ
ナミックステップ数算出プログラム9を起動する。ダイ
ナミックステップ数算出プログラム9はモジュール名情
報ファイル4、ステップ数情報ファイル5及び通過回数
情報ファイル8を入力とし、ワークファイルA10、ワ
ークファイルB11ヲ用いながら出力装置12にダイナ
ミしクステップ数情報を出力する。
次に第2図を用いてコンパイラ2の処理内容について説
明する。まずイニシャライズ処理21でオプションの指
定内8に解析し、ダイナミックステップカウント機能を
使用するかどうかを内部フラグに反映する。ダイナミッ
クステップカウント機能を使用しない場合は通常のコン
ノくイラとして動作する。
次に構文解析処理22ではダイナミックステップカウン
ト機能あ夛の場合、各モジーール(手続き又は関数)の
構文解析処理の先頭で、第6歯に示すようにモジュール
名32と先頭文番号31をモジュール名情報ファイル4
に出力する。
次にコード生成処理26では各文のコード生成処理の先
頭でダイナミックステップカウント機能アシの場合通過
回数カウントプログラム7をコールするためのオブジェ
ク)を出力する。そして一つの文毎に機械命令語を出力
すると同時にステップ数を命令語数カウンタに求める。
そしてダイナミックステップカウント機能あ)の場合−
つの文のオブジェクト生成終了毎1c、141Nに示す
ように文番号61と命令語数カウンタ43の値をステッ
プ数情報ファイル5に出力する。
次に第5図を用いて通過回数カウントプログラム7の処
理内容について説明する。通過回数カウントプログラム
7はダイナミックステップカウント機能ありt指定して
コンパイルし作成されたロードモジュール6の実行時、
各文の先頭で文番号31t−パラメタとしてコールされ
る。通過回数カウントプログラム7はパラメタとして渡
された文番号と一致するものがあるか通過回数情報ファ
イル8をサーチする。一致するものがあった場合該当す
る文番号の通過回数に1を加算する。一致するものがな
かった場合通過回数情報ファイル8に該轟文査号の通過
回数を1として追加登録する。
次に第6図を用いてダイナミックステップ数算出プログ
ラムの処理内容について説明する。まず文対応処理61
ではステップ数情報ファイル5と通過回数情報ファイル
8を入力として各交信に(ステップ叙)×(通過回数)
を計算し、各交信のダイナミックステップ数を求めワー
クファイルAIDに出力する。同時にプログラム全体の
ダイナミックステップ数も求める。
モジュール対応処理62ではまずモジュール名情報ファ
イル4を入力して各モジエールの先頭文番号及び最終文
番号(次のモジュールの先頭文番号−1)を求める。次
に各モジエールの先頭文番号から最終文番号までワーク
ファイルA10を入力してダイナミックステップ数を加
算することによシモジェール毎のダイナミックステップ
数を求め、ワークファイルB11に出力する。
ソート処理63ではワークファイルAIO及びワークフ
ァイルB11の内容をダイナミックステップ数をキーと
して下降順にソートする。
リスト出力処理64ではプログラム全体のダイナミック
ステップ数、ワークファイルB11の内容(モジュール
毎のダイナミックステップ数〕、ワークファイルA10
の内容(交信のダイナミックステップ数)ヲ順にリスト
に出力する。
第7図にリストの出力例を示す。モジュール別ダイナミ
ックステップ数72はダイナミックステップ数の下降順
にソートされており、プログラム全体のダイナミックス
テップ数71に対する割合も表示される。文別ダイナミ
ックステップ数73と同様にダイナミックステップ数の
下降順にソートされておシ、プログラム全体のダイナミ
ックステップ数71に対する割合も表示される。
モジュール別ダイナミックステップ数72ヲ見るとモジ
為−ルP几0C02はプログラム全体のダイナミックス
テップ数の41%を占め、P R,QCO7は64%を
占めている。従って性能改善のためPROCO2とPR
OCO7に対し同様なアルゴリズム改善、コーディング
方法の改善を行なった場合、実行性能上はPRoCo2
の方がより改善効果が大きい。つまりリストの先頭にあ
るモジュールから順に性能対策を行なえばよシ効率的な
性能改署ができる。これは文別ダイナミックステップ数
71についても同様なことが言える。
本実2illii例によれば出力装置12に出力された
ダイナミックステップIff報によシブログラムの性能
上ネックとなる可能性のある部分(ダイナミックステッ
プ数の多い部分)を容易に発見することができ、性能評
価が容易に行なえるという効果がある。またこの情報を
元にダイナミックステップ数の多い部分のアルゴリズム
、コーディング方法等を見直すことによりダイナミック
ステップ数を減らすことができ、性能改善を効率よく行
えるという効果がある。
〔発明の効果〕
本発明によればプログラム全体、モジュール。
文の各レベルでのダイナミックステップ数を簡単に求め
られるため、プログラムの性能上のネックとなる可能性
のある部分を容易に発見することができ、性能評価、性
能改善作業の効率が同上するという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図、第2図はコン
パイラの処理説明図、第3図はモジュール名tVaファ
イルへのモジュール情報出力方法の説明図、第4図はス
テップ数情報ファイルへのステップ数情報出力方法の説
明図、第5図は通過回数カウントプログラムの動作説明
図、第6図はダイナミックステップ数算出プログラムの
処理説明図、絹7図はダイナミックステップ数算出プロ
グラムの出力側説明図である。 1・・・ワークファイル、2・・・コンパイラ、3・・
・オブジェクトファイル、4・・・モジュール名情報フ
ァイル、5・・・ステップ数情報ファイル、6・・・ロ
ードモジュール、7・・・通過回数カウントプログラム
、8・・・通過回数情報ファイル、9・・・ダイナミッ
クステップ数算出プログラム、10】・・ワークファイ
ルA。 11・・・ワークファイルB、12・・・出力装置。 筋 汀 筋4圀 第 5n 躬 6 [] 第 72

Claims (1)

    【特許請求の範囲】
  1. 1、高級言語で記述されたソースプログラムを入力し、
    機械命令を出力するコンパイラにおいて、ソースプログ
    ラムの各文対応の機械命令のステップ数情報の出力機能
    と、ソースプログラムの各文対応の通過回数を実行時に
    カウントする命令の出力機能とを設けることにより各文
    毎のダイナミックステップ数を求めることができること
    を特徴とする高級言語プログラムのダイナミックステッ
    プカウント方式。
JP62249799A 1987-10-05 1987-10-05 高級言語プログラムのダイナミックステップカウント方式 Pending JPH0193826A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62249799A JPH0193826A (ja) 1987-10-05 1987-10-05 高級言語プログラムのダイナミックステップカウント方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62249799A JPH0193826A (ja) 1987-10-05 1987-10-05 高級言語プログラムのダイナミックステップカウント方式

Publications (1)

Publication Number Publication Date
JPH0193826A true JPH0193826A (ja) 1989-04-12

Family

ID=17198383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62249799A Pending JPH0193826A (ja) 1987-10-05 1987-10-05 高級言語プログラムのダイナミックステップカウント方式

Country Status (1)

Country Link
JP (1) JPH0193826A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03144835A (ja) * 1989-10-31 1991-06-20 Nec Corp プログラム単位時間当たり実行演算数計算方式
JPH0962538A (ja) * 1995-08-29 1997-03-07 Nec Corp 効率化支援装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03144835A (ja) * 1989-10-31 1991-06-20 Nec Corp プログラム単位時間当たり実行演算数計算方式
JPH0962538A (ja) * 1995-08-29 1997-03-07 Nec Corp 効率化支援装置

Similar Documents

Publication Publication Date Title
US5303147A (en) Computer aided planning method and system
CN112306479A (zh) 一种基于抽象语法的代码可视化分析方法及装置
Fauth et al. Automated generation of DSP program development tools using a machine description formalism
US20150020051A1 (en) Method and apparatus for automated conversion of software applications
Dold A formal representation of Abstract State Machines using PVS
JPH0193826A (ja) 高級言語プログラムのダイナミックステップカウント方式
JPH0766342B2 (ja) プログラムテスト装置
US6948159B2 (en) Automatic compilation of electronic telecommunications system message generation code
WO2012133606A1 (ja) プログラムの影響範囲設定装置、並びにこれを用いた影響範囲特定方法及び影響波及のあるプログラムの抽出方法
JPH09288580A (ja) ソースプログラムの最適化装置および最適化方法
JPH05143357A (ja) プログラム自動並列化方法
CN115576564A (zh) 一种四则运算流式计算规则生成方法及装置
JPH0695890A (ja) コンパイラにおける名前置換方式
JPH034336A (ja) プログラムデバッグ処理装置
CN117055892A (zh) 一种可在线编辑动态解析的数据接入系统、方法及介质
JPS62216050A (ja) プログラム単位の実行cpu時間測定処理方式
JPH02231638A (ja) オブジエクト指向データベース管理システムにおけるメツセージ処理方法
JPH04124741A (ja) プログラムの実行特性解析方法
JPH02211542A (ja) モジュール管理情報算出方式
JPH05324402A (ja) プログラムのテスト状態計測方式
JPH0820961B2 (ja) 式解析処理方式
JPH02207343A (ja) デバッグ装置
Bareisa et al. A CONTRACT-BASED APPROACH TO IMPROVING AUTOMATIC TEST GENERATOR
JPH0496145A (ja) ソフトウェアのテストデータ網羅率測定方法及びその装置
KR970024717A (ko) 제어국 시스템의 명령어 분석방법