23-Apr-2014 12:12, Walter Bright пишет:
On 4/23/2014 12:20 AM, Kagamin wrote:
On Wednesday, 23 April 2014 at 06:39:04 UTC, Walter Bright wrote:
I made a build of dmd with a collector in it. It destroyed the speed.
Took it
out.
Is it because of garbage collections? Then allow people configure
collection
threshold, say, collect garbage only when the heap is bigger than 16GB.
It's more than that. I invite you to read the article I wrote on DrDobbs
a while back about changes to the allocator to improve speed.
tl;dr: allocation is a critical speed issue with dmd. Using the
bump-pointer method is very fast, and it matters.
This stinks it's not even half-serious. A x2 speed increase was due to
scraping the old allocator on Win32 altogether and using plain HeapAPI.
If the prime reason compilation is fast is because we just throw away
memory, we must be doing something wrong, very wrong.
--
Dmitry Olshansky