Article: Increasing the D Compiler Speed by Over 75%

Joakim joakim at airpost.net
Thu Aug 1 00:47:24 PDT 2013


On Wednesday, 31 July 2013 at 22:58:56 UTC, Walter Bright wrote:
> On 7/31/2013 2:40 PM, Bill Baxter wrote:
>> Are you serious that you can't fathom how it could be 
>> confusing to someone than
>> talking about differences in run times?
>
> Yes.
>
> And no, I'm not talking about confusing to someone who lives in 
> an undiscovered stone age tribe in the Amazon. I'm talking 
> about computer programmers.
>
>
>> If you say something is faster than something else you want 
>> the two numbers to
>> be something you can relate to.  Like MPH.  Everyone has a 
>> clear concept of what
>> MPH is.  We use it every day.  So to say 25 MPH is 25% faster 
>> than 20 MPH is
>> perfectly clear.  But nobody talks about program execution 
>> speed in terms of
>> programs per second.
>
> Yes, they do, and certainly in "lines per second". Google it 
> and see for yourself. And as you well understand, from using 
> the same program to compile, the number of lines cancels out 
> when comparing speeds.
>
> There is nothing mysterious or confusing about this. Seriously.
>
>
>> So I think it's pretty clear why that would be harder for
>> people to grok than changes in car speeds or run times.
>
> To be blunt, Baloney!
Can we please stop this dumb argument?

I think the source of the confusion is that programmers only use 
execution times to measure execution speed and will often say 
that they sped up a program by 50% when they halved the execution 
time, implying that the "speed" went up by 50%.  Well, as Walter 
points out, a real speed, ie output/sec, would go up 100% in that 
scenario, so the programmers' language is technically incorrect.  
This breaks many programmers' intuitions, hence all the 
complaining in this thread.

However, this whole debate is a bikeshed topic, as nobody really 
cares if the gain was 43% or 75%, ie nobody is using that 
precision for any purpose anyway.  Walter is technically correct, 
that's all that matters.

On Wednesday, 31 July 2013 at 23:26:32 UTC, Walter Bright wrote:
> On 7/31/2013 3:58 PM, John Colvin wrote:
>> It's a quite impressively unbalanced education that provides 
>> understanding of
>> memory allocation strategies, hashing and the performance 
>> pitfalls of integer
>> division, but not something as basic as a speed.
>
> Have you ever seen those cards that some "electrical engineers" 
> carry around, with the following equations on them:
>
>     V = I * R
>     R = V / I
>     I = V / R
>
> ?
>
> I found it: 
> https://docs.google.com/drawings/d/1StlhTYjiUEljnfVtFjP1BXLbixO30DIkbw-DpaYJoA0/edit?hl=en&pli=1
>
> Unbelievable. The author of it writes:
>
> "I'm going to explain to you how to use this cheat sheet in 
> case you've never seen this before."
>
> http://blog.ricardoarturocabral.com/2010/07/electronic-electrical-cheat-sheets.html
>
> Makes you want to cry.
No real electrical engineer would ever use that card, as you 
connote with your quotes.  If they don't have Ohm's law and the 
resulting algebra drilled into their head, they better find 
another job.  I suspect that chart is for amateurs from other 
backgrounds who happen to be doing some electrical work.


More information about the Digitalmars-d-announce mailing list