{{{ comment
* English
You can use the plugin to make all kinds of information about your Chamber to be shown. You may delete functions you think you'll never use. If you want FrontPage or side bar contents to be back to default, all you need to do is delete the page. Then it's back to auto generate page.
* Japanese
作業部屋の各種情報をプラグインを使って表示することができます。使わない機能に関しては削除してしまって構いません。FrontPage やサイドバーをディフォルトの内容に戻したい場合は、ページを削除すると自動生成ページに戻ります。
}}}
= [[ProjectName]]
[[RepositoryInfo]]
[[ProjectDescription]]
= 使用目的
* この関数は全体の何割を消費してるか知りたい
* この処理は現在何クロックを消費してるか知りたい
という趣味の領域が目的です
= 使用方法
uses uRDTSC; を追加し
* 測定したい処理全体の先頭で startRDTSC;
* 測定したいユニットの先頭で RDTSCst(dtTSC[n]);
* 測定したいユニットの終了で RDTSCed(dtTSC[n]);
....
* 測定したい処理全体の終了 endRDTSC;
* この時点で結果はクリップボードに出力されます
* ユニットには名前を付けておけます dtTSC[n].name='func1'; なくても問題ない
* nは0~9の数字でユニットを識別
* つまり最大10個のユニットを識別出来ます(増やすならTSCtimerSizeを修正)
パフォーマンスチェックの都度、入れたり外したりが面倒なら
関数の先頭で
* |$IFDEF enTSC}RDTSCst(dtTSC[0]);{$ENDIF}
のように入れて 終了で
* |$IFDEF enTSC}RDTSCed(dtTSC[0]);{$ENDIF}
と入れます。enTSC をコンパイル時に入れなければこれらは外れます
* 関数の先頭は常に同じ場所を通りますが、exitやraiseがあると入れ忘れる場合もあるでしょう
* その場合は処理時間が少な目に出るので stcntとedcntのカウント値で確認出来ます
* また意図的に途中終了の比率を確認する事にも使えるでしょう
* 結果を自分で表示処理したい場合は
endRDTSC;をendRDTSC(false);として、その後でdtTSC配列を確認して下さい
* 作者:裏目小僧
* 利用はご自由に。
* Lazarus2.2.4 32bit/64bit Delphi5である程度動作する事を確認しています
* Delphiで利用するにはUTF8からの文字コード変換が必要です
== Release Files
[[ReleaseList]]
== Recent Commits
[[RecentCommit]]
[[RepositoryReadme]]
== Latest updated Tickets
[[RecentTickets(limit=5)]]
= About Chamber Wiki
Welcome to OSDN Wiki system. Here is your chamber Wiki space.
Check [wiki:docs-en:WikiGuide Wiki Guide (English)] to refer syntax and functions.