Thread overview
Visual D 0.3.34 released - powered by a precise garbage collector
Oct 12, 2012
Rainer Schuetze
Oct 13, 2012
thedeemon
Oct 13, 2012
Rainer Schuetze
Oct 13, 2012
Rainer Schuetze
Oct 13, 2012
Nicholas Londey
Oct 13, 2012
Rainer Schuetze
Oct 13, 2012
Lubos Pintes
Oct 13, 2012
Walter Bright
October 12, 2012
Hi,

after struggling with memory issues for too long, the newest version of Visual D enjoys the benefits of a pretty precise garbage collector. This isn't the only new feature of this release, here are some more:

* linker error messages can now be decompressed and demangled (thanks to Benjamin Thaut for providing the tool)
* optlink is now called directly with file monitoring: this allows passing library path and detecting library and source dependencies
* various improvements to the parser and completion
* fixed installation for VS2012

The full changelog can be read here: http://www.dsource.org/projects/visuald/wiki/VersionHistory

Visual D is a Visual Studio package providing both project management and language services for the D programming language. It works with Visual Studio 2005-12 as well as the free Visual Studio Shells.

The Visual D installer can be downloaded from its website at http://www.dsource.org/projects/visuald

Rainer
October 13, 2012
On Friday, 12 October 2012 at 17:37:09 UTC, Rainer Schuetze wrote:
> after struggling with memory issues for too long, the newest version of Visual D enjoys the benefits of a pretty precise garbage collector.

Great news!
I'm a happy thankful user of VisualD. I really like the fact that the new precise GC is being tested on a real world project, and that it happens in Windows, not yet another unix-only development.

What are your thoughts on current state of precise_gc2? How stable and how fast is it? What are the current plans for it?


October 13, 2012
Chrome is flagging the download as 'This file appears malicious.' for me. Have you run into this?

On Friday, 12 October 2012 at 17:37:09 UTC, Rainer Schuetze wrote:
> Hi,
>
> after struggling with memory issues for too long, the newest version of Visual D enjoys the benefits of a pretty precise garbage collector. This isn't the only new feature of this release, here are some more:
>
> * linker error messages can now be decompressed and demangled (thanks to Benjamin Thaut for providing the tool)
> * optlink is now called directly with file monitoring: this allows passing library path and detecting library and source dependencies
> * various improvements to the parser and completion
> * fixed installation for VS2012
>
> The full changelog can be read here: http://www.dsource.org/projects/visuald/wiki/VersionHistory
>
> Visual D is a Visual Studio package providing both project management and language services for the D programming language. It works with Visual Studio 2005-12 as well as the free Visual Studio Shells.
>
> The Visual D installer can be downloaded from its website at http://www.dsource.org/projects/visuald
>
> Rainer


October 13, 2012

On 10/13/2012 10:31 AM, Nicholas Londey wrote:
> Chrome is flagging the download as 'This file appears malicious.' for
> me. Have you run into this?

I have downloaded and installed Chrome, and it does not complain. But Windows 8 SmartScreen does, probably because the installer is not signed. You can still allow installation by clicking "Details".

October 13, 2012
Not in Firefox, downloaded yesterday.
Dňa 13. 10. 2012 10:31 Nicholas Londey  wrote / napísal(a):
> Chrome is flagging the download as 'This file appears malicious.' for
> me. Have you run into this?
>
> On Friday, 12 October 2012 at 17:37:09 UTC, Rainer Schuetze wrote:
>> Hi,
>>
>> after struggling with memory issues for too long, the newest version
>> of Visual D enjoys the benefits of a pretty precise garbage collector.
>> This isn't the only new feature of this release, here are some more:
>>
>> * linker error messages can now be decompressed and demangled (thanks
>> to Benjamin Thaut for providing the tool)
>> * optlink is now called directly with file monitoring: this allows
>> passing library path and detecting library and source dependencies
>> * various improvements to the parser and completion
>> * fixed installation for VS2012
>>
>> The full changelog can be read here:
>> http://www.dsource.org/projects/visuald/wiki/VersionHistory
>>
>> Visual D is a Visual Studio package providing both project management
>> and language services for the D programming language. It works with
>> Visual Studio 2005-12 as well as the free Visual Studio Shells.
>>
>> The Visual D installer can be downloaded from its website at
>> http://www.dsource.org/projects/visuald
>>
>> Rainer
>
>

October 13, 2012

On 10/13/2012 10:19 AM, thedeemon wrote:
> On Friday, 12 October 2012 at 17:37:09 UTC, Rainer Schuetze wrote:
>> after struggling with memory issues for too long, the newest version
>> of Visual D enjoys the benefits of a pretty precise garbage collector.
>
> Great news!
> I'm a happy thankful user of VisualD. I really like the fact that the
> new precise GC is being tested on a real world project, and that it
> happens in Windows, not yet another unix-only development.
>
> What are your thoughts on current state of precise_gc2? How stable and
> how fast is it? What are the current plans for it?
>

I have only done a few benchmarks from the druntime/benchmark folder and the dmd test suite, but these are more biased towards lots of allocations than collections. For those, the overall performance is about 20-30% slower, because there is some more work to done in allocations.

Within Visual D, it seems that collections are quite a bit faster, but as the parser and semantic analysis which uses most memory, is delegated to another process, you probably won't notice it anyway.

My impression is that the branch on github (https://github.com/rainers/druntime/tree/precise_gc2) is pretty stable. There are still a number of unprecisely scanned memory areas:

- data and bss segment (Visual D uses a dmd/druntime a patch to implement precise scanning for these too, but it does not integrate very well and is Windows-specific so far)
- closures
- some structures in associative arrays, as there is no combined typeinfo available to be passed to the GC
- "emplaced" objects if memory is allocated with "new void[]"

The GC interface needs to be extended with a function to specify type info for an arbitrarily memory range to improve some of the above.
October 13, 2012

On 10/13/2012 2:37 PM, Rainer Schuetze wrote:
>
>
> My impression is that the branch on github
> (https://github.com/rainers/druntime/tree/precise_gc2) is pretty stable.

I should add that you can expect running into linker problems because RTInfo for associative arrays is often not generated by dmd. My current workaround is to add "alias AssociativeArray!(Key,Value) _workaround;" somewhere if the linker complains about missing symbols for type "Value[Key]". The new demangling feature in Visual D is quite helpful here ;-)

October 13, 2012
On 10/12/2012 10:37 AM, Rainer Schuetze wrote:
> The Visual D installer can be downloaded from its website at
> http://www.dsource.org/projects/visuald

On github:

https://github.com/rainers/visuald