Начиная с Delphi 2006 менеджер памяти Borland был заменен на FastMM4. С тех пор он используют в IDE RAD Studio и для приложений скомпилированных под Win32/Win64. Несколько дней тому назад автор FastMM Пьер ле Риш (Pierre le Riche) выложил на GitHub FastMM5.
FastMM 5 полностью переписан с нуля. Новая версия одновременно сохранила сильные стороны версии 4.992 и устранила ее недостатки:
FastMM 5 полностью переписан с нуля. Новая версия одновременно сохранила сильные стороны версии 4.992 и устранила ее недостатки:
- Значительно улучшено многопоточное масштабирование между несколькими ядрами CPU, память распределяется без разрывов. Его можно настроить для масштабирования близкого к линейному на любом количестве ядер CPU.
- Производительность выше, чем у FastMM 4.992 в однопоточных тестах на 15% и в многопоточных тестах на 30%.
- Полная настойка во время выполнения. Теперь нет необходимости для изменения параметров изменять директивы компилятора и перекомпилировать проект.
- Режим отладки по умолчанию использует ту же библиотеку, что и 4-я версия (FastMM_FullDebugMode.dll), но при этом поддерживает пользовательские процедуры трассировки. Переключение в режим отладки и выход из него осуществляется вызовом функций FastMM_EnterDebugMode и FastMM_ExitDebugMode.
- Поддерживает 8, 16, 32 или 64-байтовое выравнивание всех блоков. Переход в режим минимального выравнивания блоков и выход из него осуществляется вызовом процедур FastMM_EnterMinimumAddressAlignment и FastMM_ExitMinimumAddressAlignment.
- Все уведомления о событиях (ошибки, сообщения об утечке памяти и т. д.) могут быть направлены в отладчик (через OutputDebugString), в файл журнала, на экран или любую их комбинацию. Сообщения формируются с использованием шаблонов, которые могут быть изменены во время выполнения.
- Поддерживаются три режима работы: mmosOptimizeForSpeed - оптимизация скорости, mmosOptimizeForLowMemoryUsage - оптимизация использования памяти и mmosBalanced - их сочетание. Переключаться между ними можно вызом процедуры FastMM_SetOptimizationStrategy. По умолчанию включен режим mmosBalanced.
а что он там написал по поводу платности...?
ОтветитьУдалитьFastMM5 имеет двойную лицензию: GPL3 и коммерческую. Как я понимаю, GPL3 не накладывает ограничений на использование (можно продавать, можно изменять код, главное сохранять информацию об лицензии, авторе и дать ссылку на исходный код). Коммерческая лицензия стоит в зависимости от количества разработчиков (от $99 до $999). Она дает покупателю саппорт и пожизненное обновление.
ОтветитьУдалитьP.S. я не знаток GPL, поэтому могу трактовать не правильно