git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Marius Storm-Olsen <mstormo@gmail.com>
Date
Apr 4, 2009, 05:16 UTC
Message-ID
<49D6ED32.4000706@gmail.com>
In-Reply-To
<a5b261830904031412o60b7eb4fv7e25a2ca4f89fe60@mail.gmail.com>
Pat Thoyts said the following on 03.04.2009 23:12:
Show 20 quoted lines
> 2009/4/3 Marius Storm-Olsen <marius@trolltech.com>:
>> Marius Storm-Olsen said the following on 03.04.2009 15:52:
>>> 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

Previous: Pat ThoytsNext: Johannes Sixt
Message 6 of 10 in “Add custom memory allocator to MinGW and MacOS builds”
  1. Add custom memory allocator to MinGW and MacOS buildsMarius Storm-Olsen, Apr 3, 2009
  2. Marius Storm-OlsenApr 3, 2009
  3. Pat ThoytsApr 3, 2009
  4. Johannes SchindelinApr 3, 2009
  5. Pat ThoytsApr 3, 2009
  6. Marius Storm-OlsenApr 4, 2009
  7. Johannes SixtApr 4, 2009
  8. Marius Storm-OlsenApr 5, 2009
  9. Johannes SchindelinApr 3, 2009
  10. Janos LaubeApr 3, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.