Thread (10 messages) flat view 10 messages, 6 authors, 2016-06-15

Re: [PATCH] Add custom memory allocator to MinGW and MacOS builds

From: Marius Storm-Olsen <hidden>
Date: 2016-06-15 22:46:33

Pat Thoyts said the following on 03.04.2009 23:12:
2009/4/3 Marius Storm-Olsen [off-list ref]:
quoted
Marius Storm-Olsen said the following on 03.04.2009 15:52:
quoted
The standard allocator on Windows is pretty bad prior to
Windows Vista, and nedmalloc is better than the modified
dlmalloc provided with newer versions of the MinGW libc.
Actually, it just struck me that it's probably the
synchronization primitives which are better on Vista than XP, and
not the memory manager? (Since mingw 4.3.3-tdm on XP and Vista
most likely use the same dlmalloc fork?) ^shrug^

Anyways, not that I haven't tried to 'tune' nedmalloc in any way,
just ensured that it compiles with the different MinGWs which I 
benchmarked. So, if anyone feels like it, maybe we can squeeze
more performance out of it by tweaking it.
The difference on Windows Vista is that the low fragmentation heap
is the default memory allocator. On Windows XP you need to enable
it specifically for an application. So a possible alternative to
this is just to enable the low fragmentation heap. (done via
GetProcessHeaps and HeapSetInformation Win32 API calls).
I know about the low-fragmentation heap, but given that it was only 
supported on XP and up (and given that I also had MacOSX in mind when 
considering a custom allocator; see MacOSX got 12% itself ;-), I 
didn't even consider it.
Thanks for clearing up the differences on the Vista and XP benchmarks 
though! Makes sense.

--
.marius
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help