История изменений
Исправление KivApple, (текущая версия) :
Речь не о ядерном аллокаторе, а об аллокаторе из libc. Все структуры данных алгоритма занимают несколько сотен килобайт, скорее всего аллокация страниц вообще происходит лишь один раз (а даже если нет, то за первую итерацию приложение получит достаточное количество памяти от ядра, а фрагментация кучи мала, так как все структуры данных уничтожаются между итерациями, поэтому дозапрашивать не придётся), а вот уже внутри памяти запрошенной от ОС работает аллокатор libc. И вот этот аллокатор в WSL и в Windows-приложении будет отличаться, так как у WSL и обычного Linux идентичные юзерспейс библиотеки, а все Windows C/C++ приложения используют malloc-free из MSVCRT.DLL.
Исправление KivApple, :
Речь не о ядерном аллокаторе, а об аллокаторе из libc. Все структуры данных алгоритма занимают несколько сотен килобайт, скорее всего аллокация страниц вообще происходит лишь один раз (а даже если нет, то за первую итерацию приложение получит достаточное количество памяти от ядра, а фрагментация кучи мала, так как все структуры данных уничтожаются между итерациями, поэтому дозапрашивать не придётся), а вот уже внутри памяти запрошенной от ОС работает аллокатор libc. И вот этот аллокатор в WSL и в Windows-приложении будет отличаться, так как у WSL и обычного Linux идентичные юзерспейс библиотеки, а все Windows C/C++ приложения используют MSVCRT.DLL.
Исходная версия KivApple, :
Речь не о ядерном аллокаторе, а об аллокаторе из libc. Все структуры данных алгоритма занимают несколько сотен килобайт, скорее всего аллокация страниц вообще происходит лишь один раз (а даже если нет, то за первую итерацию приложение получит достаточное количество памяти от ядра, а фрагментация кучи мала, так как все структуры данных уничтожаются между итерациями, поэтому дозапрашивать не придётся), а вот уже внутри памяти запрошенной от ОС работает аллокатор libc. И вот этот аллокатор в WSL и в Windows-приложении будет отличаться.