Несколько лет назад я сам тестировал несколько распределителей, и мой опыт показывает, что все результаты зависят от типа теста. Если вы хотите самостоятельно написать некоторые тесты, рассмотрите следующие ситуации:
- выделяет много памяти одного размера, затем освобождает все
- выделяет много памяти разных размеров, затем освобождает все
- выделите только несколько блоков памяти, освободите их и повторите этот цикл несколько раз (повторите для блоков одинакового размера и блоков разного размера)
- выделяет много памяти разных размеров, освобождает половину (например, четные выделения), затем выделяет и освобождает память в цикле
- использовать два потока для параллельного распределения памяти
- использовать три, четыре, пять, ... потоков для параллельного распределения памяти
Вы заметите, что результаты будут отличаться для каждого теста. Распределители, которые очень хороши в одной ситуации, могут быть плохими в других.
На практике это означает, что лучше всего протестировать его в своем приложении в реальной / реалистичной ситуации.