開発
2014/12/12
D言語でGCのプロファイル
mima
Github版のdruntime(acf61b8c0e4fbf41a31209845154e2a53eb31acb)では、GCのプロファイルを行うことが出来ます。
module gcprofile; extern(C) __gshared string[] rt_options = ["gcopt=profile:1"]; class Huge { long[1024] huge; } void main() { foreach (_; 0 .. 2^^20) new Huge(); }
druntimeにオプションを渡しています。
実行すると、
$ rdmd gcprofile.d Number of collections: 3086 Total GC prep time: 34 milliseconds Total mark time: 41 milliseconds Total sweep time: 38 milliseconds Total page recovery time: 18 milliseconds Max Pause Time: 0 milliseconds Grand total GC time: 133 milliseconds GC summary: 5 MB, 3086 GC 133 ms, Pauses 76 ms < 0 ms
GCのプロファイル結果が表示されます。
便利ですね。
担当:美馬(dmdのプロファイラと連携できると、もっと面白い気がします)