July 22, 2014
On Tuesday, 22 July 2014 at 22:14:31 UTC, Domingo Alvarez Duarte wrote:
> On Tuesday, 22 July 2014 at 21:36:01 UTC, safety0ff wrote:
>>
>> You mentioned not knowing which branch, are you on yebblies' "newmagic" branch?
>
> On https://github.com/D-Programming-Language/dmd there is no such branchs !
>
> Is it a fork elsewhere ?

Yes, it's in Daniel's fork.

https://github.com/yebblies/dmd/tree/newmagic

Daniel, you should do some spring cleaning on your branches :)
July 22, 2014
On Tuesday, 22 July 2014 at 22:14:31 UTC, Domingo Alvarez Duarte wrote:
> On Tuesday, 22 July 2014 at 21:36:01 UTC, safety0ff wrote:
>>
>> You mentioned not knowing which branch, are you on yebblies' "newmagic" branch?
>
> On https://github.com/D-Programming-Language/dmd there is no such branchs !
>
> Is it a fork elsewhere ?

I think the repository is this one ?

https://github.com/yebblies/dmd

July 23, 2014
On 7/22/2014 9:34 AM, Daniel Murphy wrote:> "Tourist"  wrote in message news:cmeqwpzglxjksmiekxbe@forum.dlang.org...
>
>> Just curious. I remember that there was some kind of a roadmap, but I
>> cannot find it now.
>
> Nice timing, I was about to post a DDMD status message.
>
> As of a few hours ago DDMD has gone green in the autotester on the main
> platforms.
>
> https://auto-tester.puremagic.com/?projectid=10
>
> Of the failing platforms:
> OSX32: https://github.com/braddr/d-tester/pull/35 (OSX32 is crazy)
> linux cross compilers: The tester machines currently have the wrong dmd
> host toolchain installed.
> win64: Same sort of thing as the linux cross compilers
>
> The autotester is showing a performance hit in the range of 25-50%
> slower. Memory consumption appears to have a less significant increase.
>
> Also note that the autotester is only building ddmd in debug mode - the
> dmd I'm comparing it against was built in release mode with full
> optimizations.
>
> As for what's left:
>> Fix cross-compilers/osx32
>> Actually test and inevitably fix win64
>> Finish reducing memory consumption/reinstating custom allocation
>> schemes that I've disabled
>> Merge, test and release.
>
> And then do the same things again for the other two backends.
>
> You can build it by following the instructions here:
> https://github.com/D-Programming-Language/dmd/pull/3410
>
> If things go well I may release a DDMD zip that matches 2.066 for people
> to try out.

I'd make a random guess at allocations being the difference in performance, DMD currently uses a bump-the-pointer allocator, which, if I'm remembering correctly, produced performance boosts of about that much when it was implemented.
July 23, 2014
On 23 Jul 2014 04:56, "Orvid King via Digitalmars-d" < digitalmars-d@puremagic.com> wrote:
>
> On 7/22/2014 9:34 AM, Daniel Murphy wrote:> "Tourist"  wrote in message
news:cmeqwpzglxjksmiekxbe@forum.dlang.org...
>
> >
> >> Just curious. I remember that there was some kind of a roadmap, but I cannot find it now.
> >
> > Nice timing, I was about to post a DDMD status message.
> >
> > As of a few hours ago DDMD has gone green in the autotester on the main platforms.
> >
> > https://auto-tester.puremagic.com/?projectid=10
> >
> > Of the failing platforms:
> > OSX32: https://github.com/braddr/d-tester/pull/35 (OSX32 is crazy)
> > linux cross compilers: The tester machines currently have the wrong dmd
> > host toolchain installed.
> > win64: Same sort of thing as the linux cross compilers
> >
> > The autotester is showing a performance hit in the range of 25-50% slower. Memory consumption appears to have a less significant increase.
> >
> > Also note that the autotester is only building ddmd in debug mode - the dmd I'm comparing it against was built in release mode with full optimizations.
> >
> > As for what's left:
> >> Fix cross-compilers/osx32
> >> Actually test and inevitably fix win64
> >> Finish reducing memory consumption/reinstating custom allocation
> >> schemes that I've disabled
> >> Merge, test and release.
> >
> > And then do the same things again for the other two backends.
> >
> > You can build it by following the instructions here: https://github.com/D-Programming-Language/dmd/pull/3410
> >
> > If things go well I may release a DDMD zip that matches 2.066 for people to try out.
>
> I'd make a random guess at allocations being the difference in
performance, DMD currently uses a bump-the-pointer allocator, which, if I'm remembering correctly, produced performance boosts of about that much when it was implemented.

Not always true. For me it only I only found it to be a performance penalty. See various threads started by myself about libphobos compilation of unittests freezing my system, and the eventual death of my hard drive when building Phobos. ;)

Now I can't use dmd short lifetime in the generation of an executable as a reasonable excuse here for why memory *should* be allocated and not freed, because it was the rare occasion of building Phobos with dmd that was the last thing my dead disk did.

It is true though that gdc and ldc suffer greatly from it though. std.algorithm for instance may compile in 20 seconds for dmd, becomes 1 minute 20 seconds for gdc (let's assume compiling with optimisations). This is a painful amount of time for a utility tool to spend consuming 2+GBs of memory.  Especially if you are running concurrent builds.

Iain


July 23, 2014
"Domingo Alvarez Duarte"  wrote in message news:vwamsrkqngvnbnmdcakt@forum.dlang.org...

> On Tuesday, 22 July 2014 at 14:34:10 UTC, Daniel Murphy wrote:
> > You can build it by following the instructions here: https://github.com/D-Programming-Language/dmd/pull/3410
>
> I'm not sure if there is instructions to build it on that link, there is no "ddmd" entry on makefiles and I cant see any branch/tag on git to checkout.
>
> Can you provide more details about how to build it and where the code are hosted?
>

As others have pointed out, that link is to a pull request from a branch in my respository.  That branch is the one you need to check out in order to build it.

https://github.com/yebblies/dmd/tree/newmagic 

July 23, 2014
"safety0ff"  wrote in message news:ptaydiflclzapizmopmj@forum.dlang.org...

> Ok, tried building with LDC and ran into some issues:

Yeah, this was never going to work.

> At first I tried an older ldmd2 and it error'ed on labels followed by closed brackets. Using a newer version fixed this, but perhaps magicport could follow labels with {}.

It won't build with anything except the latest dmd.  In fact, it even needs one patch which is yet to be merged into master.

> Afterwards I ran into an issue with LDC on x86_64 with __va_argsave, so I switched to 32 bit.

Another one fixed in dmd which hasn't made it to your LDC yet.

> Next I ran into symbol conflicts between root.aav._aaLen and object._aaLen (resolved by import'ing root.aav : _aaLen)

Same thing, just fixed in dmd.

> Afterwards I needed to change optimize.d's shift_optimize second argument from:
> Expression function(Type, Expression, Expression)
> to:
> typeof(&Shl)

Not sure what that is, but probably more of the same.

> This is a hack, I think it was getting tripped up on the extern(C++).

Yah.

> Next I have an issue with outbuffer.o getting deleted, so I add a step to the make file renaming outbuffer.o to routbuffer.o and I change the name in the ddmd command to use routbuffer.o instead.

I have no idea what's going on here.  'make ddmd' should never delete outbuffer.o

> Unfortunately all that was for naught as I couldn't get it to link. I tried to rebuild LDC's phobos and druntime for 32 bit but the linker still complained that it was incompatible.

If you post the errors I might be able to work it out, but I'd guess LDC's C++ mangling is broken and that's why you're getting linker errors. 

July 23, 2014
"Iain Buclaw via Digitalmars-d"  wrote in message news:mailman.157.1406065213.32463.digitalmars-d@puremagic.com...

> On 22 July 2014 15:00, Tourist via Digitalmars-d
> <digitalmars-d@puremagic.com> wrote:
> > Just curious. I remember that there was some kind of a roadmap, but I cannot
> > find it now.
>
> I'm blocking DDMD.  :o)

And DGDC! 

July 23, 2014
On 23 July 2014 07:31, Daniel Murphy via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> "safety0ff"  wrote in message news:ptaydiflclzapizmopmj@forum.dlang.org...
>
>
>> Ok, tried building with LDC and ran into some issues:
>
>
> Yeah, this was never going to work.
>

Likewise GDC won't work either incase anyone gets any ideas.


>
>> Unfortunately all that was for naught as I couldn't get it to link. I tried to rebuild LDC's phobos and druntime for 32 bit but the linker still complained that it was incompatible.
>
>
> If you post the errors I might be able to work it out, but I'd guess LDC's C++ mangling is broken and that's why you're getting linker errors.

GDC C++ mangling should be getting some TLC in the next weeks.
July 23, 2014
On 23 July 2014 07:42, Daniel Murphy via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> "Iain Buclaw via Digitalmars-d"  wrote in message news:mailman.157.1406065213.32463.digitalmars-d@puremagic.com...
>
>> On 22 July 2014 15:00, Tourist via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
>> > Just curious. I remember that there was some kind of a roadmap, but I >
>> > cannot
>> > find it now.
>>
>> I'm blocking DDMD.  :o)
>
> And DGDC!

We'll see how things go about that... :)
July 23, 2014
"Brad Anderson"  wrote in message news:goeecibjsrobayeefbvx@forum.dlang.org...

> Daniel, you should do some spring cleaning on your branches :)

Never!  Although I now delete them after they are merged, since github added a button to do it.