digitalmars.D - D 2.061 release
- Russel Winder (18/18) Jan 07 2013 I just thought I should report that 2.061 has fixed all the threading
- Walter Bright (14/20) Jan 07 2013 It's also helpful to drill down to see why. For example, a while back a ...
- Era Scarecrow (7/13) Jan 07 2013 Sounds rigged. I know I've heard of benchmarks from years ago
- Walter Bright (4/9) Jan 07 2013 Most of the time it was just incompetence.
- bearophile (13/16) Jan 07 2013 I agree. Performance of the resulting code doesn't come out of
I just thought I should report that 2.061 has fixed all the threading problems I was moaning about after the 2.059 =E2=86=92 2.060 update. So th= anks to all concerned with fixing the bug reports that were generated. LDC is though still generally creating faster executables than DMD. This is just a gut feeling right now, in a couple of weeks time I'll see if I can get some actual numbers. =20 --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Jan 07 2013
On 1/7/2013 3:13 AM, Russel Winder wrote:I just thought I should report that 2.061 has fixed all the threading problems I was moaning about after the 2.059 → 2.060 update. So thanks to all concerned with fixing the bug reports that were generated.That is great news!LDC is though still generally creating faster executables than DMD. This is just a gut feeling right now, in a couple of weeks time I'll see if I can get some actual numbers.It's also helpful to drill down to see why. For example, a while back a D user posted a benchmark where he concluded that dmd generated poor code for integer math. Drilling down into the generated code, it was pretty much the same as what other compilers generated. What was different, however, was the implementation of the "long divide" library function. druntime had a slow one. The long divide dominated the performance profile. Fixing that brought it up to par with zero changes to the compiler. I've also seen benchmarks where the compiler was blamed, where malloc, or printf, or strcpy, or whatever was the actual dominant cycle sucker. Or even that the wrong compiler switches were used. Yes, I've seen magazines publish benchmarks where the 'slow' compiler was used with debug switches on, and the 'fast' compiler had the optimization switches on.
Jan 07 2013
On Monday, 7 January 2013 at 20:23:37 UTC, Walter Bright wrote:I've also seen benchmarks where the compiler was blamed, where malloc, or printf, or strcpy, or whatever was the actual dominant cycle sucker. Or even that the wrong compiler switches were used. Yes, I've seen magazines publish benchmarks where the 'slow' compiler was used with debug switches on, and the 'fast' compiler had the optimization switches on.Sounds rigged. I know I've heard of benchmarks from years ago where a windows server system (2000?) was against a linux server; The windows machine had like a gig of memory and a bunch of other snazzy hardware, while the linux machine was giving the bare minimum to run the server (32-128Mb). Also I think Microsoft was the one doing the benchmarks... :)
Jan 07 2013
On 1/7/2013 1:08 PM, Era Scarecrow wrote:Sounds rigged. I know I've heard of benchmarks from years ago where a windows server system (2000?) was against a linux server; The windows machine had like a gig of memory and a bunch of other snazzy hardware, while the linux machine was giving the bare minimum to run the server (32-128Mb). Also I think Microsoft was the one doing the benchmarks... :)Most of the time it was just incompetence. On one, the benchmark table results showed Zortech was the fastest, but the article text asserted that Major Brand X was the fastest.
Jan 07 2013
Walter Bright:It's also helpful to drill down to see why.I agree. Performance of the resulting code doesn't come out of magic, it comes from one or more (usually many) small stupid steps done by some optimization module, etc etc. If you locate the problem exactly, it's often possible to improve the "compiler". See below.For example, a while back a D user posted a benchmark where he concluded that dmd generated poor code for integer math.That person concluded that DMD was doing a worse job in compiling that code. From similar discussions it seems that the problem is that what you call "compiler" isn't what most people think of "compiler". For me the "long divide" is part of what the compiler does. Bye, bearophile
Jan 07 2013