From 03a708ba8e8c323b07d8d2e0115d6eb59987cc02 Mon Sep 17 00:00:00 2001 From: Andreas Klebinger Date: Mon, 6 Apr 2020 13:35:23 +0200 Subject: Enable large address space optimization on windows. Starting with Win 8.1/Server 2012 windows no longer preallocates page tables for reserverd memory eagerly, which prevented us from using this approach in the past. We also try to allocate the heap high in the memory space. Hopefully this makes it easier to allocate things in the low 4GB of memory that need to be there. Like jump islands for the linker. --- docs/users_guide/8.12.1-notes.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'docs/users_guide/8.12.1-notes.rst') diff --git a/docs/users_guide/8.12.1-notes.rst b/docs/users_guide/8.12.1-notes.rst index c729a8ec6c..bc2414489f 100644 --- a/docs/users_guide/8.12.1-notes.rst +++ b/docs/users_guide/8.12.1-notes.rst @@ -40,6 +40,11 @@ Highlights GHC is now able to detect the case alt returning 3 as redundant. - Some more performance improvements in edge cases. +* Windows: Use the larg address space allocator. + + This improves runtime but causes increased memory usage on Windows versions + older than Win 8.1/Server 2012. + Full details ------------ @@ -166,6 +171,12 @@ Runtime system - Support for Windows Vista has been dropped. GHC-compiled programs now require Windows 7 or later. +- Windows now uses the large address space allocator by default. + In extreme cases we saw improvements by up to 3% decreased runtime. + + The downside is that haskell apps run on older (Pre Win-8.1/Server 2012) + systems will have higher memory footprints. + Template Haskell ~~~~~~~~~~~~~~~~ -- cgit v1.2.1