On 5/24/2017 3:56 PM, Jon Degenhardt wrote:
Its not easy writing an article that doesn't draw some form of criticism. FWIW,
the reason I gave a Python example is because it is very commonly used for this
type of problem and the language is well suited to it. A second reason is that
I've seen several posts where someone has tried to rewrite a Python program like
this in D, start with `split`, and wonder how to make it faster. My hope is that
this will clarify how to achieve this.
Another goal of the article was to describe how performance in the TSV Utilities
had been achieved. The article is not about the TSV Utilities, but discussing
both the benchmark results and how they had been achieved would be a very long
article.
Any time one writes an article comparing speed between languages X and Y,
someone gets their ox gored and will bitterly complain about how unfair the
article is (though I noticed that none of the complainers wrote a faster Python
version). Even if you tried to optimize the Python program, you'll be inevitably
accused of deliberately not doing it right.
The nadir of this for me was when I compared Digital Mars C++ code with DMD.
Both share the same optimizer and back end, yet I was accused of "sabotaging" my
own C++ compiler in order to make D look better !! Me, I just don't do public
comparison benchmarking anymore. It's a waste of time arguing with people about it.
I thought you wrote a fine article, and the criticism about the Python code was
unwarranted (especially since nobody suggested better code), because the article
was about optimizing D code, not optimizing Python.