Final by default?
Paulo Pinto
pjmlp at progtools.org
Thu Mar 13 01:04:51 PDT 2014
On Thursday, 13 March 2014 at 05:51:05 UTC, Walter Bright wrote:
> I'd like to address, in general, the issue of, what I term,
> "performance by default" which is part of the argument for
> final by default.
>
> C, C++, and D are billed as languages for writing high
> performance apps. And this is true. What is not true, or at
> least has not been true in my experience, is that an
> application is high performance merely because it is written in
> C, C++ or D.
>
> Let me emphasize, code is not fast just because it is written
> using a high performance language.
>
> High performance code does not happen by accident, it has to be
> intentionally written that way. Furthermore, I can pretty much
> guarantee you that if an application has never been profiled,
> its speed can be doubled by using a profiler. And if you
> really, really want high performance code, you're going to have
> to spend time looking at the assembler dumps of the code and
> tweaking the source code to get things right.
>
> High performance code is not going to emanate from those
> programmers who are not skilled in the art, it is not going to
> happen by accident, it is not going to happen by following best
> practices, it is not going to happen just because you're
> writing in C/C++/D.
>
> D certainly provides what is necessary to write code that blows
> away conventional C or C++ code.
>
> It reminds me of when I worked in a machine shop in college.
> I'd toil for hours cutting parts, and the parts were not round,
> the holes were off center, heck, the surfaces weren't that
> smooth. There was an older machinist there who'd take pity on
> me. He'd look at what I was doing, cluck cluck, he'd touch the
> bit with a grinder, he'd tweak the feed speed, he'd make arcane
> adjustments to the machine tool, and out would come perfect
> parts. I am an awe to this day of his skill - I still don't
> know how he did it. The point is, he and I were using the same
> tools. He knew how to make them sing, I didn't.
>
> I still cannot drill a goddam hole and get it where I measured
> it should be.
Fully agree with you. That is how we get around writing
distributed applications in JVM/.NET with comparable performance
to the C++ ones being replaced.
--
Paulo
More information about the Digitalmars-d
mailing list