作業中のプログラムをテストしたところ、-g を指定してコンパイルすると、実行速度が 3μs 速くなった (統計的に有意な変化) ことがわかりました。これは私には意味がありません - -g フラグはプログラムの実行に影響を与えるべきではないと考えていました。
なぜこれが起こっているのか誰にも教えてもらえますか?そして、プログラムの実行フローを変更するかどうか? 書かれているとおりに実行する必要があるため、-O を使用してコンパイルしていませんが、-g で命令の順序を変更して高速に実行できる場合は、明らかにそれを使用する必要があります。
したがって、-g フラグがプログラムに与える変更を正確に知る必要があります。
編集:実行するテストが増えるほど、t値が大きくなります(=統計的に有意な差になります)。これは間違いなく測定エラーではありません - 何かが起こっています.