関数呼び出しにおける基本的な情報採取に関しては、前回までに説明した手法で十分なのですが、実際の情報採取の際には気を付けるべきトピックが幾つかあります。 今回は、それらのトピックについて説明したいと思います。 マルチスレッド マルチスレッド化によって性能や応答性の向上を実現するケースは、少なくないでしょう。 特に近年は、個人のデスクトップPCやノートPCでさえ、物理的に複数コアのCPUを搭載するご時勢ですので、CPUの使用効率を高める上でもマルチスレッド化の流れは加速するものと思われます。 マルチスレッド稼動時の関数フロー マルチスレッドで稼働中のプロセスから DTraceで関数フローを採取した場合、どのような出力が得られるでしょうか? 各スレッドで、リスト1に示すような処理を行う状況を仮定します。 リスト1 各スレッド上で実施される処理 void* running(void* arg) {