Jump to page: 1 24  
Page
Thread overview
dmd 1.045 / 2.030 release
May 12, 2009
Paul D. Anderson
May 13, 2009
Stewart Gordon
May 12, 2009
Walter Bright
May 12, 2009
Walter Bright
May 12, 2009
bearophile
May 12, 2009
Walter Bright
May 12, 2009
dsimcha
May 12, 2009
Walter Bright
May 12, 2009
Leandro Lucarella
May 12, 2009
Christopher Wright
May 13, 2009
Leandro Lucarella
May 13, 2009
Jesse Phillips
May 13, 2009
Christopher Wright
May 14, 2009
Robert Clipsham
May 14, 2009
Leandro Lucarella
May 14, 2009
Robert Clipsham
May 14, 2009
BCS
May 14, 2009
Vincenzo Ampolo
May 22, 2009
Robert Clipsham
May 23, 2009
bearophile
May 13, 2009
Don
May 12, 2009
dsimcha
May 12, 2009
Robert Jacques
May 12, 2009
dsimcha
May 12, 2009
Walter Bright
May 12, 2009
dsimcha
May 15, 2009
Graham St Jack
May 12, 2009
grauzone
May 13, 2009
Georg Wrede
May 13, 2009
Don
May 14, 2009
davesun
May 15, 2009
Christopher Wright
May 12, 2009
Is there a reason for the missing announcement ?

http://digitalmars.com/d/1.0/changelog.html#new1_045

http://www.digitalmars.com/d/2.0/changelog.html#new2_030

and what happened to 1.044 ?

-Tomas
May 12, 2009
Tomas Lindquist Olsen Wrote:

> Is there a reason for the missing announcement ?
> 
> http://digitalmars.com/d/1.0/changelog.html#new1_045
> 
> http://www.digitalmars.com/d/2.0/changelog.html#new2_030
> 
> and what happened to 1.044 ?
> 
> -Tomas

Walter usuallly updates the changelog pages just before the actual release. Expect the announcement shortly, if you haven't already ruined the surprise!

And thanks, Walter, for another big release with lots of bug fixes and improvements.

Paul

May 12, 2009
On Tue, May 12, 2009 at 6:19 PM, Paul D. Anderson <paul.d.removethis.anderson@comcast.andthis.net> wrote:
> Tomas Lindquist Olsen Wrote:
>
>> Is there a reason for the missing announcement ?
>>
>> http://digitalmars.com/d/1.0/changelog.html#new1_045
>>
>> http://www.digitalmars.com/d/2.0/changelog.html#new2_030
>>
>> and what happened to 1.044 ?
>>
>> -Tomas
>
> Walter usuallly updates the changelog pages just before the actual release. Expect the announcement shortly, if you haven't already ruined the surprise!
>

But it says May 11th... That's yesterday!

> And thanks, Walter, for another big release with lots of bug fixes and improvements.
>
> Paul
>
>

And what happened to the D1 stability stance ? 1.045 is a breaking release (both code and binary)! I don't mind, but I'm very surprised..

-Tomas
May 12, 2009
Tomas Lindquist Olsen wrote:
> Is there a reason for the missing announcement ?

Yes, I sent it to people who'd asked for a prerelease so they could check their builds against it.
May 12, 2009
== Quote from Tomas Lindquist Olsen (tomas.l.olsen@gmail.com)'s article
> Is there a reason for the missing announcement ?
> http://digitalmars.com/d/1.0/changelog.html#new1_045
> http://www.digitalmars.com/d/2.0/changelog.html#new2_030
> and what happened to 1.044 ?
> -Tomas

Probably because it doesn't quite work yet.  I'm waiting for some crufty old 2.029 code to run, so I thought I'd try out shared a little.  Here are the results:

import std.stdio, std.perf, core.thread;

shared uint foo;

void main() {
    auto t = new Thread({stuff();});
    t.start;
    scope pc = new PerformanceCounter;
    pc.start;
    foreach(i; 0..10_000_000) {
        foo++;
    }
    t.join;
    pc.stop;
    writeln(pc.milliseconds);
    uint bar = foo;
    writeln(bar);  // Prints some pseudorandom, wrong number.
}

void stuff() {
    foreach(i; 0..10_000_000) {
        foo++;
    }
}

Or is the automatic synchronization of shared variables part not supposed to be implemented yet?
May 12, 2009
On Tue, May 12, 2009 at 6:40 PM, Walter Bright <newshound1@digitalmars.com> wrote:
> Tomas Lindquist Olsen wrote:
>>
>> Is there a reason for the missing announcement ?
>
> Yes, I sent it to people who'd asked for a prerelease so they could check their builds against it.
>

I do apologize if I made a lot of people download a broken DMD release, but ... Some people watch the changelog, so if you don't want to release to be public, don't update the site!

-Tomas
May 12, 2009
On Tue, 12 May 2009 12:41:50 -0400, dsimcha <dsimcha@yahoo.com> wrote:

> == Quote from Tomas Lindquist Olsen (tomas.l.olsen@gmail.com)'s article
>> Is there a reason for the missing announcement ?
>> http://digitalmars.com/d/1.0/changelog.html#new1_045
>> http://www.digitalmars.com/d/2.0/changelog.html#new2_030
>> and what happened to 1.044 ?
>> -Tomas
>
> Probably because it doesn't quite work yet.  I'm waiting for some crufty old 2.029
> code to run, so I thought I'd try out shared a little.  Here are the results:
>
> import std.stdio, std.perf, core.thread;
>
> shared uint foo;
>
> void main() {
>     auto t = new Thread({stuff();});
>     t.start;
>     scope pc = new PerformanceCounter;
>     pc.start;
>     foreach(i; 0..10_000_000) {
>         foo++;
>     }
>     t.join;
>     pc.stop;
>     writeln(pc.milliseconds);
>     uint bar = foo;
>     writeln(bar);  // Prints some pseudorandom, wrong number.
> }
>
> void stuff() {
>     foreach(i; 0..10_000_000) {
>         foo++;
>     }
> }
>
> Or is the automatic synchronization of shared variables part not supposed to be
> implemented yet?

Bartosz hasn't talked about D's shared system yet. Anyways, what you are seeing is a classic read/write race, and is expected even if foo is sequential consistent or locked. What you'd need to test is the Peterson lock (http://bartoszmilewski.wordpress.com/2008/11/11/who-ordered-sequential-consistency/)

Remember foo++ ->
r1 = foo;
r1++;
foo = r1;

So
lock(foo);
r1 = foo;
unlock(foo);
r1++;
lock(foo);
foo = r1;
unlock(foo);
May 12, 2009
* added .typeinfo to ClassInfo

Very nice. Maybe I can go remove some hacks from my code now...
May 12, 2009
== Quote from Robert Jacques (sandford@jhu.edu)'s article
> On Tue, 12 May 2009 12:41:50 -0400, dsimcha <dsimcha@yahoo.com> wrote:
> > == Quote from Tomas Lindquist Olsen (tomas.l.olsen@gmail.com)'s article
> >> Is there a reason for the missing announcement ?
> >> http://digitalmars.com/d/1.0/changelog.html#new1_045
> >> http://www.digitalmars.com/d/2.0/changelog.html#new2_030
> >> and what happened to 1.044 ?
> >> -Tomas
> >
> > Probably because it doesn't quite work yet.  I'm waiting for some crufty
> > old 2.029
> > code to run, so I thought I'd try out shared a little.  Here are the
> > results:
> >
> > import std.stdio, std.perf, core.thread;
> >
> > shared uint foo;
> >
> > void main() {
> >     auto t = new Thread({stuff();});
> >     t.start;
> >     scope pc = new PerformanceCounter;
> >     pc.start;
> >     foreach(i; 0..10_000_000) {
> >         foo++;
> >     }
> >     t.join;
> >     pc.stop;
> >     writeln(pc.milliseconds);
> >     uint bar = foo;
> >     writeln(bar);  // Prints some pseudorandom, wrong number.
> > }
> >
> > void stuff() {
> >     foreach(i; 0..10_000_000) {
> >         foo++;
> >     }
> > }
> >
> > Or is the automatic synchronization of shared variables part not
> > supposed to be
> > implemented yet?
> Bartosz hasn't talked about D's shared system yet. Anyways, what you are seeing is a classic read/write race, and is expected even if foo is sequential consistent or locked. What you'd need to test is the Peterson lock
>
(http://bartoszmilewski.wordpress.com/2008/11/11/who-ordered-sequential-consistency/)
> Remember foo++ ->
> r1 = foo;
> r1++;
> foo = r1;
> So
> lock(foo);
> r1 = foo;
> unlock(foo);
> r1++;
> lock(foo);
> foo = r1;
> unlock(foo);

Yes, but I thought the whole point of shared was to make it impossible to have these kinds of bugs in your code, i.e. all the synchronization primitives necessary are supposed to occur below the level of the language abstraction.
May 12, 2009
On Tue, May 12, 2009 at 6:40 PM, Walter Bright <newshound1@digitalmars.com> wrote:
> Tomas Lindquist Olsen wrote:
>>
>> Is there a reason for the missing announcement ?
>
> Yes, I sent it to people who'd asked for a prerelease so they could check their builds against it.
>

I do apologize if I made a lot of people download a broken DMD release, but ... Some people watch the changelog, so if you don't want to release to be public, don't update the site!

-Tomas
« First   ‹ Prev
1 2 3 4