April 12, 2017
On Tuesday, 11 April 2017 at 19:57:19 UTC, Piotr Kowalski wrote:

> http://benchmarksgame.alioth.debian.org/
>
> Why D is not there?

Because maintainer of that site doesn't want D there, as I remember from previous discussions. At some point (years ago) D was present there, then removed. C and C++ programs are trivially translatable to D and compiled with the same LLVM backend with LDC, so whatever speed is shown by C and C++ there can usually be repeated in D.


April 12, 2017
On Wednesday, 12 April 2017 at 19:31:06 UTC, thedeemon wrote:
> On Tuesday, 11 April 2017 at 19:57:19 UTC, Piotr Kowalski wrote:
>
>> http://benchmarksgame.alioth.debian.org/
>>
>> Why D is not there?
>
> Because maintainer of that site doesn't want D there, as I remember from previous discussions. At some point (years ago) D was present there, then removed. C and C++ programs are trivially translatable to D and compiled with the same LLVM backend with LDC, so whatever speed is shown by C and C++ there can usually be repeated in D.

No. Isaac is very cooperative. He usually pops up quickly, if someone mentions benchmarksgame.

https://forum.dlang.org/post/wcownwoteiownrtnilow@forum.dlang.org
https://forum.dlang.org/post/rrfbuokpyhjsusuxqxka@forum.dlang.org
https://forum.dlang.org/post/iskkpwaaaqlcgjymhjzi@forum.dlang.org
April 13, 2017
On Wednesday, 12 April 2017 at 19:37:06 UTC, qznc wrote:
> On Wednesday, 12 April 2017 at 19:31:06 UTC, thedeemon wrote:
>> On Tuesday, 11 April 2017 at 19:57:19 UTC, Piotr Kowalski wrote:
>>
>>> http://benchmarksgame.alioth.debian.org/
>>>
>>> Why D is not there?
>>
>> Because maintainer of that site doesn't want D there, as I remember from previous discussions. At some point (years ago) D was present there, then removed. C and C++ programs are trivially translatable to D and compiled with the same LLVM backend with LDC, so whatever speed is shown by C and C++ there can usually be repeated in D.
>
> No. Isaac is very cooperative. He usually pops up quickly, if someone mentions benchmarksgame.
>
> https://forum.dlang.org/post/wcownwoteiownrtnilow@forum.dlang.org
> https://forum.dlang.org/post/rrfbuokpyhjsusuxqxka@forum.dlang.org
> https://forum.dlang.org/post/iskkpwaaaqlcgjymhjzi@forum.dlang.org

Cooperative with what?  He chose not to include D anymore, which at one point dominated the shootout, and says we should just start our own site:

https://forum.dlang.org/post/no8klt$1d1i$1@digitalmars.com
April 13, 2017
On Wed, 2017-04-12 at 19:31 +0000, thedeemon via Digitalmars-d wrote:
> On Tuesday, 11 April 2017 at 19:57:19 UTC, Piotr Kowalski wrote:
> 
> > http://benchmarksgame.alioth.debian.org/
> > 
> > Why D is not there?
> 
> Because maintainer of that site doesn't want D there, as I remember from previous discussions. At some point (years ago) D was present there, then removed. C and C++ programs are trivially translatable to D and compiled with the same LLVM backend with LDC, so whatever speed is shown by C and C++ there can usually be repeated in D.
> 

It is Isaac's game, he runs it, he chooses which languages are up there. It is not an official Debian thing as far as I know. So what the problem?

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 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

April 13, 2017
On Wednesday, 12 April 2017 at 09:38:49 UTC, Russel Winder wrote:
> On Tue, 2017-04-11 at 20:07 +0000, Stefan Koch via Digitalmars-d wrote:
>> […]
>
> At the risk of starting a flame war:
>
>> 
>> The memory safety is currently in the works.
>> We just have one std-lib now.
>> GC is slow, yes.
>
> I don't care, it doesn't impact the programs I write, and the GC means I can be a little profligate with memory.
>
>> The short-term solution is to avoid it.
>
> But only if you have to, if you don't have to don't worry.
>
> Oh and measure do not guess.
>
>> (All gc-ed langauges recommend static preallocation :P)
>
> Absolute ####### ########

Amen to that!
April 13, 2017
On Thursday, 13 April 2017 at 08:08:04 UTC, Russel Winder wrote:

> It is Isaac's game, he runs it, he chooses which languages are up there. It is not an official Debian thing as far as I know. So what the problem?

I think Piotr stated the problem in the original post. If a language is missing in that shootout many people think the language is too obscure, unknown, out of mainstream, maybe even dead. This shootout and a couple of other ratings have significant influence on public opinion on different languages and also on public awareness of different languages.
April 15, 2017
On Thursday, 13 April 2017 at 03:29:26 UTC, Joakim wrote:

> Cooperative with what?  He chose not to include D anymore, which at one point dominated the shootout, and says we should just start our own site:
>
> https://forum.dlang.org/post/no8klt$1d1i$1@digitalmars.com


When did D dominate?

http://web.archive.org/web/20090303214521/http://shootout.alioth.debian.org:80/gp4/benchmark.php?test=all%26lang=all


On that archived page you can see a lot of language implementations that I chose not to include on the "new" quad core measurements, that began back in 2008 iirc.


For newer languages like Crystal and Nim and Julia the tiny benchmarks game programs have been used to provide performance examples (without needing my involvement):

https://github.com/kostya/crystal-benchmarks-game

https://github.com/def-/nim-benchmarksgame

https://github.com/JuliaLang/julia/tree/master/test/perf/shootout


:but when it comes to D as-far-as-I-can-tell those efforts seem to somehow disappoint the D community and the comparisons are not publicized in the same way:

https://forum.dlang.org/post/ihfqubwtadgvlxkvedbl@forum.dlang.org

April 16, 2017
On Saturday, 15 April 2017 at 18:00:50 UTC, Isaac Gouy wrote:
> On Thursday, 13 April 2017 at 03:29:26 UTC, Joakim wrote:
>
>> Cooperative with what?  He chose not to include D anymore, which at one point dominated the shootout, and says we should just start our own site:
>>
>> https://forum.dlang.org/post/no8klt$1d1i$1@digitalmars.com
>
>
> When did D dominate?
>
> http://web.archive.org/web/20090303214521/http://shootout.alioth.debian.org:80/gp4/benchmark.php?test=all%26lang=all

Probably a year or so before that page was archived, when I played around with your results to see what languages popped up.  It was likely the second time I came across D- the first may be Yegge's blog post mentioning D as a possible Next Big Language (http://forum.dlang.org/thread/bjqcszlnohjjjersvojp@forum.dlang.org)- when I found that D came out tops if I weighted time, memory, and source code size equally.  Not always highest, as Free Pascal would sometimes beat it, but D usually won.

You are only weighting time in that archived page, which will favor languages that take hundreds of lines of code to do the same thing, because there's no penalty for verbosity.

> On that archived page you can see a lot of language implementations that I chose not to include on the "new" quad core measurements, that began back in 2008 iirc.

D was in the top 10 for time alone on the page you linked, without even the benefit of an llvm backend like it has today, I wonder why you'd remove a language that performed so well.

> For newer languages like Crystal and Nim and Julia the tiny benchmarks game programs have been used to provide performance examples (without needing my involvement):
>
> https://github.com/kostya/crystal-benchmarks-game

kostya does another one that includes D, it does very well:

https://github.com/kostya/benchmarks

> https://github.com/JuliaLang/julia/tree/master/test/perf/shootout

This one doesn't show any benchmarks because it says it's in your game, so you are involved.

> :but when it comes to D as-far-as-I-can-tell those efforts seem to somehow disappoint the D community and the comparisons are not publicized in the same way:
>
> https://forum.dlang.org/post/ihfqubwtadgvlxkvedbl@forum.dlang.org

I'm guessing that's because he tried to update the old D benchmarking code and likely the C/C++ code has been optimized a lot more since.  I took the source for the top C regex-dna benchmark late last year and compared it to the latest D implementation by Dmitry, the author of std.regex.

I found that the D benchmark easily beat the top C regex benchmark on a single core- not surprising as Dmitry's regex always beats everyone else- but would lose on multi-core, only because Dmitry's benchmark had not been parallelized.  The D source was an order of magnitude smaller, partially because both call external regex libraries that do most of the work but mostly because the C one back then needed a lot more source to be parallelized.

I see that benchmark has since been renamed to regex-redux and new C implementations have been added, though the benchmark description appears to be the same.

I suspect D would do just as well on the other benchmarks now.
April 16, 2017
On Sunday, 16 April 2017 at 04:19:56 UTC, Joakim wrote:
> came out tops if I weighted time, memory, and source code size equally.  Not always highest, as Free Pascal would sometimes beat it, but D usually won.

You juggled the numbers to get a result ;-)



> This one doesn't show any benchmarks because it says it's in your game, so you are involved.

No it does not say that.

It says "This directory contains the Julia version of the "The Computer Language Benchmarks Game".

It provides "perf.jl" to time those Julia programs.

Those Julia programs are not included in the benchmarks game.



> I'm guessing that's because he tried to update the old D benchmarking code and likely the C/C++ code has been optimized a lot more since. ...
> I suspect D would do just as well on the other benchmarks now.

What a great opportunity for someone in the D community to help publicize the language!
April 16, 2017
On 11/04/17 23:09, Jack Stouffer wrote:
> On Tuesday, 11 April 2017 at 19:57:19 UTC, Piotr Kowalski wrote:
>> What about RAII?
>
> It's already in the language.
>

There are two problems with that statement.

The first is that the language does not offer any RAII containers out of the box. What it does provide is the *ability* to create RAII containers. D supports RAII, but does not actually have RAII.

The second, more serious, problem is that RAII requires destructors to run 100% reliably, and D simply doesn't have that. In that sense, the claim that D supports RAII is, at this point in time, a lie.

(And, yes, there is an open bug: https://issues.dlang.org/show_bug.cgi?id=14246)

Shachar