September 22, 2015 Re: LDC 0.16.0 alpha4 is out! We need your feedback! | ||||
---|---|---|---|---|
| ||||
Posted in reply to ponce | Am Mon, 21 Sep 2015 23:57:48 +0000 schrieb ponce <contact@gam3sfrommars.fr>: > Latest version of my game is built with this release: http://www.gamesfrommars.fr/vibrant/ > > I was pleased to see performance enhancements notably in GC pauses. If you actually moved from ldc2 0.15 to 0.16 I wouldn't call this a shameless self-advertising. ;) What you really changed: - target architecture from x86 32-bit to 64-bit - compiler back-end from DMD to LDC - switched from D1 to D2 So the better performance is not surprising. Aside from actual changes to the GC in D2, ldc2 also replaces GC allocations with stack allocations in some cases, reducing the amount of short lived garbage, which is the way it's meant to be (tm) and the larger address range of 64-bit makes false positives (i.e. ints that look like pointers to GC memory) in the mark phase unlikely. -- Marco |
September 22, 2015 Re: LDC 0.16.0 alpha4 is out! We need your feedback! | ||||
---|---|---|---|---|
| ||||
Posted in reply to Marco Leise | On Tuesday, 22 September 2015 at 01:59:33 UTC, Marco Leise wrote:
> So the better performance is not surprising. Aside from actual changes to the GC in D2, ldc2 also replaces GC allocations with stack allocations in some cases, reducing the amount of short lived garbage, which is the way it's meant to be (tm) and the larger address range of 64-bit makes false positives (i.e. ints that look like pointers to GC memory) in the mark phase unlikely.
I haven't tested against 64-bit DMD. Maybe it also exposes GC pauses reductions.
|
Copyright © 1999-2021 by the D Language Foundation