May 12, 2009 dmd 1.045 / 2.030 release | ||||
---|---|---|---|---|
| ||||
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 Re: dmd 1.045 / 2.030 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tomas Lindquist Olsen | 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 Re: dmd 1.045 / 2.030 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paul D. Anderson | 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 Re: dmd 1.045 / 2.030 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tomas Lindquist Olsen | 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 Re: dmd 1.045 / 2.030 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tomas Lindquist Olsen | == 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 Re: dmd 1.045 / 2.030 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | 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 Re: dmd 1.045 / 2.030 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to dsimcha | 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 Re: dmd 1.045 / 2.030 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tomas Lindquist Olsen | * added .typeinfo to ClassInfo Very nice. Maybe I can go remove some hacks from my code now... |
May 12, 2009 Re: dmd 1.045 / 2.030 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert Jacques | == 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 Re: dmd 1.045 / 2.030 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | 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
|
Copyright © 1999-2021 by the D Language Foundation