C - статьи

Тестирование менеджера памяти


Как известно, при выделении памяти malloc редко обращается напрямую к системе - и использует вместо этого свою внутреннюю структуру для динамического выделения памяти и изменения размера уже выделенного блока. Скорость работы этого внутреннего менеджера может весьма существенно влиять на скорость работы всего приложения. Тестирование менеджера памяти было разбито на две части: в первой измерялась скорость работы пары malloc/free, а во второй - malloc/realloc, причем realloc должен был выделить вдвое больший объем памяти, чем malloc.



Таблица 3. Результаты тестирования менеджера памяти
VC++ Intel Compiler Bulder C++ MinGW (gcc)
malloc 905 (6336) 902 (6317) 24 (174) 882 (6178)
realloc 30 (718) 30 (716) 12 (295) 30 (719)

И снова быстрее всех был Borland Builder C++. Благодаря такой быстрой реализации malloc'а он находится на первом месте и по скорости создания/удаления объектов - да и на тестах STL, связанных с изменением размера блока памяти, бегает достаточно быстро.



Содержание раздела