[Issue 8500] DList extremely wasteful in node allocation

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Aug 2 17:57:36 PDT 2012


http://d.puremagic.com/issues/show_bug.cgi?id=8500



--- Comment #3 from Alex Rønne Petersen <alex at lycus.org> 2012-08-03 02:57:31 CEST ---
> I wouldn't expect it to do anything else until custom allocators are implemented. Then the allocator used will determine the allocation scheme used.

I'd honestly expected it to use malloc/free like Array(T).

> This is following the traditional approach of Java and other languages.
Allocators will take care of this.

Right, I'm just saying that the inefficiency of insertions (which is one of the
most common operations next to removal) in DList almost negates any performance
gained by using it instead of a plain Array(T) for some use cases (for me,
instruction streams in a JIT compiler). For large workloads, it'll induce a lot
of GC cycles, scanning, and freeing, which is way worse for throughput than the
slightly less efficient insertion and removal algorithms on an Array(T) which
at least use malloc/free.

I know allocators will solve this, but I think that a malloc/free approach in
the meantime would be reasonable enough (if doable).

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list