dmd 1.063 and 2.048 release

Nick Sabalausky a at a.a
Sun Aug 15 11:28:59 PDT 2010


"Jordi" <jordi at rovira.cat> wrote in message 
news:i48n8t$1jv$1 at digitalmars.com...
> On 08/15/2010 01:50 PM, dsimcha wrote:
>> == Quote from Jordi (jordi at rovira.cat)'s article
>>> On 08/11/2010 04:15 PM, Walter Bright wrote:
>>>>
>>>> This is probably the last FreeBSD 7 release for D1. The next will be 
>>>> for
>>>> FreeBSD 8!
>>>>
>>>> http://www.digitalmars.com/d/1.0/changelog.html
>>>> http://ftp.digitalmars.com/dmd.1.063.zip
>>>>
>>>> http://www.digitalmars.com/d/2.0/changelog.html
>>>> http://ftp.digitalmars.com/dmd.2.048.zip
>>> Hi,
>>>     Congratulations for this release! This time it really made a
>>> difference when i switched from 2.0.46. The framerate of my app used to
>>> degenerate with time very quickly and now it remains fast and stable!
>>>     Maybe some of the many fixes helped the garbage collector?
>>>     Congratulations again.
>>> j.
>>
>> Probably the GC.minimize() patch.  Previously the GC would **never** give 
>> memory
>> back to the OS.  In addition to the obvious reason, this is bad because 
>> the GC is
>> currently not well optimized and slows down a lot when the heap gets 
>> large, even
>> if most of it doesn't contain pointers and isn't scanned.
>
> Great. I always thought i was missing some important point about garbage 
> collection, and i was doing everything wrong. I am used to manage my own 
> memory in C++...
>
> Anyway, i had to roll back to 2.0.46 as i have seen that from 2.0.47 some 
> behaviour has changed in my program. I cannot really make a small 
> reproduction case, because it involves dragging objects around the 3d 
> scene: since 2.0.47 they follow weird curved paths instead of moving 
> correctly on the camera plane.
>
> The code that calculate that (which is not new) just uses matrix and 
> vector operations to project and unproject positions, but i cannot really 
> find where do the numbers start to go wrong.
>

This may be a pain to do, but you could narrow it down from the other 
direction: recompile DMD from varius trunk revisions between 2.046 and 2.047 
and see which actual commit created the problem.




More information about the Digitalmars-d-announce mailing list