01 мая 2020

Релиз FastMM 5

    Начиная с Delphi 2006 менеджер памяти Borland был заменен на FastMM4. С тех пор он используют в IDE RAD Studio и для приложений скомпилированных под Win32/Win64. Несколько дней тому назад автор FastMM Пьер ле Риш (Pierre le Riche) выложил на GitHub FastMM5.
    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
    о менеджерах памяти в Delphi

2 комментария:

  1. а что он там написал по поводу платности...?

    ОтветитьУдалить
  2. FastMM5 имеет двойную лицензию: GPL3 и коммерческую. Как я понимаю, GPL3 не накладывает ограничений на использование (можно продавать, можно изменять код, главное сохранять информацию об лицензии, авторе и дать ссылку на исходный код). Коммерческая лицензия стоит в зависимости от количества разработчиков (от $99 до $999). Она дает покупателю саппорт и пожизненное обновление.
    P.S. я не знаток GPL, поэтому могу трактовать не правильно

    ОтветитьУдалить