メモリ割り当てを評価する際にチェックすべき特性は何ですか?
割り当てと割り当て解除のパフォーマンスは? 簡単なストレステストで十分ですか?割り当ての品質を確認する方法は?
たとえば、 mallocに対する Oracle のテストを見つけましたが、これは問題に対する Oracle の見解にすぎません。また、このテストはマルチスレッド パフォーマンスのみを対象としています。
人々は通常、アロケーターをどのようにチェックしますか?
メモリ割り当てを評価する際にチェックすべき特性は何ですか?
割り当てと割り当て解除のパフォーマンスは? 簡単なストレステストで十分ですか?割り当ての品質を確認する方法は?
たとえば、 mallocに対する Oracle のテストを見つけましたが、これは問題に対する Oracle の見解にすぎません。また、このテストはマルチスレッド パフォーマンスのみを対象としています。
人々は通常、アロケーターをどのようにチェックしますか?
私の答えは天才ではないと思いますが、状況によります。
カスタム メモリ アロケータを作成している場合は、おそらくその特性が何であるかを知っているでしょう。例えば。多くの小さなオブジェクトをすばやく割り当てることができるアロケーターが必要で、メモリ使用量のオーバーヘッドをあまり気にしない場合は、大きなオブジェクトのアロケーターを作成していて、できるだけ多くのメモリを節約したい場合とは異なるテストを行う必要があります。 CPU時間を犠牲にしても可能です。
ストレス テストは、いくつかの競合状態を見つけて、アロケーターにバグがないかどうかを確認するのに役立つため、常に優れていますが、パフォーマンス テストは、何を達成したいかによって異なります。