0

演習として、メモリ割り当てコードを c で書きました。現在はほぼ純粋にマクロに変換されています。これを行うことで、割り当て時間を glibc malloc (最適化されていない) に似たものに短縮することができました。ただし、gcc -Ox where x > 0 でテストを実行すると、glibc の速度に近づくことはできません。

glibc の malloc 実装は Doug Lea の dlmalloc に基づいていることを理解しています。コメントは、コードがコンパイラの最適化の恩恵を受けることを示唆しています。私はこれがなぜなのかを調べておらず、コンパイラの最適化のトリックについてもよくわかっていません。一般的に使用されている手法について誰かが知っているか、ヒントを与えることができるかどうか疑問に思っていましたか?

4

0 に答える 0