Show page source of FrontPage #122316

{{{ 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]]
[Lazarusでx64 SIMD命令を使ってみる]で 実際にどれくらい処理時間が短縮出来るか{{ref uRDTSC.pas}}を作ってみた
!!{{ref uRDTSC.pas}}
*使用目的
 ・この関数は全体の何割を消費してるか知りたい
 ・この処理は現在何クロックを消費してるか知りたい
 という趣味の領域が目的です

*使用方法
  測定したい処理全体の先頭で 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.