Сравнительный анализ компиляторов С++ Страница 4. Тестирование менеджера памяти
|
Страница 4 из 7
Тестирование менеджера памяти Как известно, при выделении памяти 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, связанных с изменением размера блока памяти, бегает достаточно быстро. |