My wish for 2015...

Xinok via Digitalmars-d digitalmars-d at puremagic.com
Thu Dec 25 16:05:47 PST 2014


On Thursday, 25 December 2014 at 20:00:43 UTC, Martin Nowak wrote:
> On Thursday, 25 December 2014 at 14:55:32 UTC, Xinok wrote:
> Ah OK, thought you had problems with stale stack values.
> False pointers were discussed here 
> https://youtu.be/LQY1m_eT37c?t=23m0s, but it's an issue that 
> only affects few programs (32-bit with floats or random data in 
> GC scanned memory). So unless we can use precise GC info to 
> speed up marking, it will be a lot of work with little impact, 
> even more since we have Win64 support.

Any program that processes significant amounts of information, 
such as scientific data, images, or videos, is likely to 
experience issues with the conservative GC. While it would be 
nice to say "just use 64-bit" to everybody, we can't ignore the 
fact that 32-bit is still widely used and it's not going away 
anytime soon. As for Win64 support, I've found it iffy at best; 
sometimes it works, sometimes it doesn't.

I think implementing a precise GC would be worth it in the long 
run. The key is realizing that there are many optimizations that 
can be applied which are impossible with a conservative GC. It 
may make programs a bit slower initially, but it's something that 
we can optimize over time (well beyond the 2015 goal).

Other languages that have transitioned from conservative to 
precise have experienced gains and losses in different suites of 
applications. In particular, programs that perform a lot of 
allocations actually saw better performance from the precise GC. 
Some languages benefit more from a precise GC more than others, 
so it's hard to say how successful it would be in D.


More information about the Digitalmars-d mailing list