www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Increasing D's visibility

reply Martin Nowak <code dawg.eu> writes:
Whenever I stumble about a list of programming languages, D is missing.
Not that most of those lists matter, but raising our presence would help 
us to get more people and more contributions to the language and it's 
ecosystem.

#
http://learnxinyminutes.com/

# unbelievable we're still missing in the programming language shootout
http://benchmarksgame.alioth.debian.org/

# list of client libraries, it's a really simple HTTP API
http://influxdb.com/docs/v0.8/introduction/getting_started.html

Sometimes it's a bigger effort, like writing a library or a tutorial, 
but often it's really simple, like adding a link or pointing someone to 
an existing D library. For example I added D to a wiki page just recently.
http://en.wikipedia.org/wiki/Glob_(programming)#Implementations

Spread the word
-Martin
Sep 15 2014
next sibling parent "ixid" <nuaccount gmail.com> writes:
The benchmarks guy seems to have some kind of issue with D. He 
claims it's too much effort or some nonsense.

On Monday, 15 September 2014 at 20:09:31 UTC, Martin Nowak wrote:
 Whenever I stumble about a list of programming languages, D is 
 missing.
 Not that most of those lists matter, but raising our presence 
 would help us to get more people and more contributions to the 
 language and it's ecosystem.

 #
 http://learnxinyminutes.com/

 # unbelievable we're still missing in the programming language 
 shootout
 http://benchmarksgame.alioth.debian.org/

 # list of client libraries, it's a really simple HTTP API
 http://influxdb.com/docs/v0.8/introduction/getting_started.html

 Sometimes it's a bigger effort, like writing a library or a 
 tutorial, but often it's really simple, like adding a link or 
 pointing someone to an existing D library. For example I added 
 D to a wiki page just recently.
 http://en.wikipedia.org/wiki/Glob_(programming)#Implementations

 Spread the word
 -Martin
Sep 15 2014
prev sibling next sibling parent reply "Isaac Gouy" <igouy2 yahoo.com> writes:
On Monday, 15 September 2014 at 20:09:31 UTC, Martin Nowak wrote:

 # unbelievable we're still missing in the programming language 
 shootout
 http://benchmarksgame.alioth.debian.org/
D is one of the 30 or so language implementations not measured on Q6600 that were measured on Pentium 4 before September 2008. http://benchmarksgame.alioth.debian.org/dont-jump-to-conclusions.html#multicore "Why don't you include language X?" http://benchmarksgame.alioth.debian.org/play.html#languagex
Sep 15 2014
parent reply "bearophile" <bearophileHUGS lycos.com> writes:
Isaac Gouy:

 "Why don't you include language X?"

 http://benchmarksgame.alioth.debian.org/play.html#languagex
From that page:
By now - if they had actually made measurements, and published 
and promoted them - their website would be highly ranked.<
This is probably false, for two or more reasons. Bye, bearophile
Sep 15 2014
next sibling parent reply "H. S. Teoh via Digitalmars-d" <digitalmars-d puremagic.com> writes:
On Mon, Sep 15, 2014 at 11:56:21PM +0000, bearophile via Digitalmars-d wrote:
 Isaac Gouy:
 
"Why don't you include language X?"

http://benchmarksgame.alioth.debian.org/play.html#languagex
From that page:
By now - if they had actually made measurements, and published and
promoted them - their website would be highly ranked.<
This is probably false, for two or more reasons.
[...] It's usually a waste of time trying to work with people like that who have already made up their minds about something, and obviously isn't going to budge no matter what. I'd say we should start our own webpage and post results of our own performance tests. In this day and age of social networks, all it takes is a little promotion and the news will get around. As long as our benchmarks are objective and we don't try to deliberately skew results in D's favor, it should eventually get noticed (and linked to) by reasonable people, and it will become known. T -- INTEL = Only half of "intelligence".
Sep 15 2014
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/15/14, 5:11 PM, H. S. Teoh via Digitalmars-d wrote:
 On Mon, Sep 15, 2014 at 11:56:21PM +0000, bearophile via Digitalmars-d wrote:
 Isaac Gouy:

 "Why don't you include language X?"

 http://benchmarksgame.alioth.debian.org/play.html#languagex
From that page:
 By now - if they had actually made measurements, and published and
 promoted them - their website would be highly ranked.<
This is probably false, for two or more reasons.
[...] It's usually a waste of time trying to work with people like that who have already made up their minds about something, and obviously isn't going to budge no matter what.
My understanding of this situation is different. We've wronged the man in the past and a sign of good will from us would go a long way. Continuing to assume he's at fault and there's nothing we can do just prolongs the stalemate.
 I'd say we should start our own webpage and post results of our own
 performance tests. In this day and age of social networks, all it takes
 is a little promotion and the news will get around. As long as our
 benchmarks are objective and we don't try to deliberately skew results
 in D's favor, it should eventually get noticed (and linked to) by
 reasonable people, and it will become known.
That would be exactly what's needed. Who's volunteering? Andrei
Sep 15 2014
next sibling parent reply "Freddy" <Hexagonalstar64 gmail.com> writes:
On Tuesday, 16 September 2014 at 01:43:15 UTC, Andrei
Alexandrescu wrote:
 My understanding of this situation is different. We've wronged 
 the man in the past and a sign of good will from us would go a 
 long way. Andrei
What The D community do wrong in the first place?
Sep 15 2014
next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/15/14, 7:20 PM, Freddy wrote:
 On Tuesday, 16 September 2014 at 01:43:15 UTC, Andrei
 Alexandrescu wrote:
 My understanding of this situation is different. We've wronged the man
 in the past and a sign of good will from us would go a long way. Andrei
What The D community do wrong in the first place?
http://forum.dlang.org/thread/hfubfc$jrr$2 digitalmars.com Isaac removed D for ease of maintenance reasons and a few in the community rushed to accuse him of bias. Andrei
Sep 15 2014
parent reply ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 15 Sep 2014 20:37:50 -0700
Andrei Alexandrescu via Digitalmars-d <digitalmars-d puremagic.com>
wrote:

 Isaac removed D for ease of maintenance reasons and a few in the=20
 community rushed to accuse him of bias.
but he IS biased. why D? there are alot of other languages, so unless there are concrete evidences that he decided which language to remove by fair dice roll, it's safe to assume that he is biased. "D is less known that XYZ so drop D" is biased POV, for example.
Sep 16 2014
parent reply "bachmeier" <no spam.com> writes:
On Tuesday, 16 September 2014 at 13:39:07 UTC, ketmar via 
Digitalmars-d wrote:
 On Mon, 15 Sep 2014 20:37:50 -0700
 Andrei Alexandrescu via Digitalmars-d 
 <digitalmars-d puremagic.com>
 wrote:

 Isaac removed D for ease of maintenance reasons and a few in 
 the community rushed to accuse him of bias.
but he IS biased. why D? there are alot of other languages, so unless there are concrete evidences that he decided which language to remove by fair dice roll, it's safe to assume that he is biased. "D is less known that XYZ so drop D" is biased POV, for example.
Why does it matter why D was dropped? If he did it because of racism there might be a reason to talk about it, but my understanding is that it's a volunteer site he runs just for the heck of it, so it's okay even if he dropped D only because he doesn't like it. There's nothing to be gained by pushing the issue.
Sep 16 2014
parent reply ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Tue, 16 Sep 2014 13:51:14 +0000
bachmeier via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 Why does it matter why D was dropped?
it's not about D, it's about biasing. note that i'm not saying that there were some bad intentions, i'm just saying that Isaac was biased, in one way or another. 'cause he is human, and most of human actions are somehow biased. i'm not trying to make any ethical assessment, just pointed at the fact.
Sep 16 2014
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/16/14, 7:04 AM, ketmar via Digitalmars-d wrote:
 On Tue, 16 Sep 2014 13:51:14 +0000
 bachmeier via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 Why does it matter why D was dropped?
it's not about D, it's about biasing. note that i'm not saying that there were some bad intentions, i'm just saying that Isaac was biased, in one way or another. 'cause he is human, and most of human actions are somehow biased. i'm not trying to make any ethical assessment, just pointed at the fact.
The important question at this point is - do we have a volunteer for dlang.org/shootout.html? Andrei
Sep 16 2014
prev sibling parent reply "Isaac Gouy" <igouy2 yahoo.com> writes:
On Tuesday, 16 September 2014 at 02:20:18 UTC, Freddy wrote:

 What The D community do wrong in the first place?
Nothing. There are just too many language implementations. It takes more time than I choose to donate. Been there; done that.
Sep 15 2014
parent reply "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Tuesday, 16 September 2014 at 05:27:15 UTC, Isaac Gouy wrote:
 On Tuesday, 16 September 2014 at 02:20:18 UTC, Freddy wrote:

 What The D community do wrong in the first place?
Nothing. There are just too many language implementations. It takes more time than I choose to donate. Been there; done that.
Hi Isaac, Off-topic question: I've been wondering, how do you magically appear here every time the Shootout is mentioned? Someone contacted you, or HTTP referrer logs?
Sep 17 2014
parent reply "Isaac Gouy" <igouy2 yahoo.com> writes:
On Thursday, 18 September 2014 at 00:59:41 UTC, Vladimir 
Panteleev wrote:
-snip-
 Off-topic question: I've been wondering, how do you magically 
 appear here every time the Shootout is mentioned?
Google magic. The project was renamed 6 years ago, it's the benchmarks game. Google shootout and you'll find porn and gun fights.
Sep 17 2014
parent reply "deadalnix" <deadalnix gmail.com> writes:
On Thursday, 18 September 2014 at 02:54:33 UTC, Isaac Gouy wrote:
 On Thursday, 18 September 2014 at 00:59:41 UTC, Vladimir 
 Panteleev wrote:
 -snip-
 Off-topic question: I've been wondering, how do you magically 
 appear here every time the Shootout is mentioned?
Google magic. The project was renamed 6 years ago, it's the benchmarks game. Google shootout and you'll find porn and gun fights.
Rule 34
Sep 17 2014
parent reply "eles" <eles eles.com> writes:
On Thursday, 18 September 2014 at 03:25:19 UTC, deadalnix wrote:
 On Thursday, 18 September 2014 at 02:54:33 UTC, Isaac Gouy 
 wrote:
 On Thursday, 18 September 2014 at 00:59:41 UTC, Vladimir 
 Panteleev wrote:
 Rule 34
"Rule #34 There is porn of it. No exceptions." They refer to checked or unchecked exceptions?
Oct 30 2014
parent reply "Meta" <jared771 gmail.com> writes:
On Thursday, 30 October 2014 at 10:24:56 UTC, eles wrote:
 On Thursday, 18 September 2014 at 03:25:19 UTC, deadalnix wrote:
 On Thursday, 18 September 2014 at 02:54:33 UTC, Isaac Gouy 
 wrote:
 On Thursday, 18 September 2014 at 00:59:41 UTC, Vladimir 
 Panteleev wrote:
 Rule 34
"Rule #34 There is porn of it. No exceptions." They refer to checked or unchecked exceptions?
One *may* find checked exceptions exciting if one is a masochist.
Oct 30 2014
parent reply "First Try" <a3531668 trbvm.com> writes:
1.) ADD Windows import of the C headers.
2.) ADD libraries such as Database and Gui
3.) Get a Scanner/Parser Generator going such as Antlr or Coco/r

For now I had to deinstall 'D' again and i guess a lot of other
people will do the same.
Oct 30 2014
next sibling parent reply "Gary Willoughby" <dev nomad.so> writes:
On Thursday, 30 October 2014 at 13:04:26 UTC, First Try wrote:
 1.) ADD Windows import of the C headers.
 2.) ADD libraries such as Database and Gui
 3.) Get a Scanner/Parser Generator going such as Antlr or Coco/r

 For now I had to deinstall 'D' again and i guess a lot of other
 people will do the same.
These are all already available.
Oct 30 2014
parent reply "First Try" <xxx xxx.com> writes:
On Thursday, 30 October 2014 at 16:48:23 UTC, Gary Willoughby 
wrote:
 On Thursday, 30 October 2014 at 13:04:26 UTC, First Try wrote:
 1.) ADD Windows import of the C headers.
 2.) ADD libraries such as Database and Gui
 3.) Get a Scanner/Parser Generator going such as Antlr or 
 Coco/r

 For now I had to deinstall 'D' again and i guess a lot of other
 people will do the same.
These are all already available.
If it wouldn't be impolite, i'd say that you are full of shit. You are betraying people into believing that crap and because of people like you, they will waste a lot of time. All to be found is half-baked stuff - most of it abandoned and as for the windows header files of D, they are utterly incomplete and not usable for 64 bit (Dsource). You ought to be ashamed of yourself.
Oct 30 2014
next sibling parent "eles" <eles215 gzk.dot> writes:
On Thursday, 30 October 2014 at 17:11:40 UTC, First Try wrote:
 On Thursday, 30 October 2014 at 16:48:23 UTC, Gary Willoughby 
 wrote:
 On Thursday, 30 October 2014 at 13:04:26 UTC, First Try wrote:
 You ought to be ashamed of yourself.
Hey, What about describing a bit more in detail the problems that you did encounter and see what can be done about it? Maybe we'll succeed in providing a wiki guide, too.
Oct 30 2014
prev sibling next sibling parent ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Thu, 30 Oct 2014 17:11:39 +0000
First Try via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 If it wouldn't be impolite, i'd say that you are full of shit.
 You are betraying people into believing that crap and because of=20
 people like you, they will waste a lot of time.
 All to be found is half-baked stuff - most of it abandoned and as=20
 for the windows header files of D, they are utterly incomplete=20
 and not usable for 64 bit (Dsource).
=20
 You ought to be ashamed of yourself.
another drama queen...
Oct 30 2014
prev sibling next sibling parent "Gary Willoughby" <dev nomad.so> writes:
On Thursday, 30 October 2014 at 17:11:40 UTC, First Try wrote:
 If it wouldn't be impolite, i'd say that you are full of shit.
 You are betraying people into believing that crap and because 
 of people like you, they will waste a lot of time.
 All to be found is half-baked stuff - most of it abandoned and 
 as for the windows header files of D, they are utterly 
 incomplete and not usable for 64 bit (Dsource).

 You ought to be ashamed of yourself.
Dsource is woefully out of date and deprecated. Everything you listed have many libraries available, they work well and fully maintained. If only you had politely asked instead of shooting your mouth off, maybe somebody would of shown you where they are.
Oct 31 2014
prev sibling parent "qznc" <qznc web.de> writes:
On Thursday, 30 October 2014 at 17:11:40 UTC, First Try wrote:
 On Thursday, 30 October 2014 at 16:48:23 UTC, Gary Willoughby 
 wrote:
 On Thursday, 30 October 2014 at 13:04:26 UTC, First Try wrote:
 1.) ADD Windows import of the C headers.
 2.) ADD libraries such as Database and Gui
 3.) Get a Scanner/Parser Generator going such as Antlr or 
 Coco/r

 For now I had to deinstall 'D' again and i guess a lot of 
 other
 people will do the same.
These are all already available.
If it wouldn't be impolite, i'd say that you are full of shit. You are betraying people into believing that crap and because of people like you, they will waste a lot of time. All to be found is half-baked stuff - most of it abandoned and as for the windows header files of D, they are utterly incomplete and not usable for 64 bit (Dsource).
Ignore Dsource. Look at http://code.dlang.org/ http://code.dlang.org/search?q=windows http://code.dlang.org/search?q=gui (does not match GtkD, though) http://code.dlang.org/search?q=database http://code.dlang.org/search?q=parsing If not found there, ask in the D.learn forum.
Oct 31 2014
prev sibling parent "thedeemon" <dlang thedeemon.com> writes:
On Thursday, 30 October 2014 at 13:04:26 UTC, First Try wrote:
 1.) ADD Windows import of the C headers.
 2.) ADD libraries such as Database and Gui
 3.) Get a Scanner/Parser Generator going such as Antlr or Coco/r
Actually, with DFL and Pegged I'm easily building Windows GUI apps now that use some parsing inside, no major problems there.
Oct 31 2014
prev sibling parent reply "Thomas Mader" <thomas.mader gmail.com> writes:
On Tuesday, 16 September 2014 at 01:43:15 UTC, Andrei 
Alexandrescu wrote:
 That would be exactly what's needed. Who's volunteering?
I guess I already somehow did. I am in the "progress" of building a benchmarking suite: https://github.com/ThomasMader/benchmark Currently it is possible to benchmark some of the benchmarks from benchmarksgame.alioth.debian.org. For the moment I start with Java and port the benchmarks directly to D and benchmark dmd, gdc and ldc versions. I also benchmark the compilation because I find it important for a language comparison. I plan to include other languages which make sense (like C++) to compare them against D but not the full set from the benchmarksgame. I would like to make it platform dependent. (Win, Linux, Mac) In the moment it's Linux only though and measures everything exactly the same as on http://benchmarksgame.alioth.debian.org/play.html with the exception of code-used. I tried to keep out external dependencies so I am not using libGTop for the measurement but implemented it myself. I am not sure if the code-used measurement is meaningful or not so if anybody has some arguments please elaborate. Everything is printed to stdout only for now because serialisation is missing. I have not yet decided which format I use but I don't want to implement something. It needs to be in phobos. I thought about JSON or XML but AFAIK the phobos implementations will be replaced in the future. It should be widely accepted and should have less overhead. (Don't like XML for that matter) If anybody has some remarks regarding any matter don't hesitate to put them here. This is a fun project for me to get to write and learn D and maybe help D to get some more attention. But don't expect fast progress. ;-) Thomas
Sep 15 2014
next sibling parent "Isaac Gouy" <igouy2 yahoo.com> writes:
On Tuesday, 16 September 2014 at 03:53:10 UTC, Thomas Mader wrote:

 I am in the "progress" of building a benchmarking suite
 …
 But don't expect fast progress. ;-)
Well, for faster progress, someone could just take the Python scripts from the benchmarks game, measure programs and figure out how they were going to publish the measurements (and keep them up-to-date, and whether they'd accept contributed programs, and how to manage that, and … ). And once that was working, write a benchmarking suite :-)
Sep 15 2014
prev sibling parent reply "Kagamin" <spam here.lot> writes:
I'd say, run the damned benchmark for C and D. C would setup 
performance scale. What would be interesting is to see, how 
compiler switches affect performance, especially assert vs 
release mode and bounds checking on/off.
Sep 16 2014
next sibling parent "Kagamin" <spam here.lot> writes:
Also: 
http://forum.dlang.org/post/op.xl87ulu4eav7ka stevens-macbook-pro-2.local
Sep 16 2014
prev sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/16/14, 9:44 AM, Kagamin wrote:
 I'd say, run the damned benchmark for C and D. C would setup performance
 scale. What would be interesting is to see, how compiler switches affect
 performance, especially assert vs release mode and bounds checking on/off.
I agree that C and D should be enough. Perhaps C++ and one more near the top (Ada, Fortran) would be good for context. Who wants to do this? Isaac made his setup publicly available. Andrei
Sep 16 2014
next sibling parent Martin Nowak <code dawg.eu> writes:
On 09/16/2014 07:32 PM, Andrei Alexandrescu wrote:
 I agree that C and D should be enough. Perhaps C++ and one more near the
 top (Ada, Fortran) would be good for context.

 Who wants to do this? Isaac made his setup publicly available.
There was actually someone working on this a year ago or so, but I can't find the github project and don't remember who it was.
Sep 16 2014
prev sibling parent reply "Peter Alexander" <peter.alexander.au gmail.com> writes:
On Tuesday, 16 September 2014 at 17:32:39 UTC, Andrei 
Alexandrescu wrote:
 On 9/16/14, 9:44 AM, Kagamin wrote:
 I'd say, run the damned benchmark for C and D. C would setup 
 performance
 scale. What would be interesting is to see, how compiler 
 switches affect
 performance, especially assert vs release mode and bounds 
 checking on/off.
I agree that C and D should be enough. Perhaps C++ and one more near the top (Ada, Fortran) would be good for context. Who wants to do this? Isaac made his setup publicly available.
I'll take a stab at it. Will give me something to do on my commute :-) (assuming his scripts work, or can be made to work on OS X).
Sep 16 2014
next sibling parent reply "Isaac Gouy" <igouy2 yahoo.com> writes:
On Tuesday, 16 September 2014 at 21:04:59 UTC, Peter Alexander 
wrote:
-snip-
 I'll take a stab at it. Will give me something to do on my 
 commute :-)  (assuming his scripts work, or can be made to work 
 on OS X).
It'll be interesting to see which linux stuff is missing: -- without libgtop2 you could still get cpu and elapsed times (but not resident memory or CPU load) -- without highlight you could still get gzip source code size (but the source would include comments and whitespace) When you have questions, please ask in the benchmarks game discussion forum -- http://benchmarksgame.alioth.debian.org/play.html#misc
Sep 16 2014
parent "Peter Alexander" <peter.alexander.au gmail.com> writes:
On Tuesday, 16 September 2014 at 22:26:48 UTC, Isaac Gouy wrote:
 On Tuesday, 16 September 2014 at 21:04:59 UTC, Peter Alexander 
 wrote:
 -snip-
 I'll take a stab at it. Will give me something to do on my 
 commute :-)  (assuming his scripts work, or can be made to 
 work on OS X).
It'll be interesting to see which linux stuff is missing: -- without libgtop2 you could still get cpu and elapsed times (but not resident memory or CPU load) -- without highlight you could still get gzip source code size (but the source would include comments and whitespace) When you have questions, please ask in the benchmarks game discussion forum -- http://benchmarksgame.alioth.debian.org/play.html#misc
Thanks Isaac. I think we can live without the resident memory, CPU load, and source size for now. I'll focus on getting some CPU time benchmarks first.
Sep 16 2014
prev sibling next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/16/14, 2:04 PM, Peter Alexander wrote:
 On Tuesday, 16 September 2014 at 17:32:39 UTC, Andrei Alexandrescu wrote:
 On 9/16/14, 9:44 AM, Kagamin wrote:
 I'd say, run the damned benchmark for C and D. C would setup performance
 scale. What would be interesting is to see, how compiler switches affect
 performance, especially assert vs release mode and bounds checking
 on/off.
I agree that C and D should be enough. Perhaps C++ and one more near the top (Ada, Fortran) would be good for context. Who wants to do this? Isaac made his setup publicly available.
I'll take a stab at it. Will give me something to do on my commute :-) (assuming his scripts work, or can be made to work on OS X).
Fantastic. Thanks! Created this just for you: https://issues.dlang.org/show_bug.cgi?id=13487 Andrei
Sep 16 2014
parent reply "bearophile" <bearophileHUGS lycos.com> writes:
Andrei Alexandrescu:

 https://issues.dlang.org/show_bug.cgi?id=13487
If the upload conditions and site are sufficiently good I am willing to offer some implementations in D and to keep them updated. I suggest to add two D versions for some benchmarks, one that shows short high level code, and one that shows longer hairier fast code. In some cases I'd even like to show a third "safe" version (that tries to be more correct), but most Shootout/ComputerGame benchmarks are not very fit for this (you can see some examples of this on Rosettacode). Bye, bearophile
Sep 16 2014
next sibling parent reply "Peter Alexander" <peter.alexander.au gmail.com> writes:
On Wednesday, 17 September 2014 at 06:59:40 UTC, bearophile wrote:
 Andrei Alexandrescu:

 https://issues.dlang.org/show_bug.cgi?id=13487
If the upload conditions and site are sufficiently good I am willing to offer some implementations in D and to keep them updated. I suggest to add two D versions for some benchmarks, one that shows short high level code, and one that shows longer hairier fast code. In some cases I'd even like to show a third "safe" version (that tries to be more correct), but most Shootout/ComputerGame benchmarks are not very fit for this (you can see some examples of this on Rosettacode).
This is what I intend to do (time permitting) * Direct translation from the C++ version. * High-level version using standard library, particularly ranges (this should be safe!) * Low-level hand optimized using core.simd (when applicable). * CTFE version! (I imagine this will choke on most benchmarks though...) Of course, I'll test across dmd, gdc, and ldc2. Aside from being PR to show the speed of D, hopefully these benchmarks will serve as test beds for potential optimizations. If anyone already has translations of the benchmark programs then please send them to me (or just reply to the bug with an attachment).
Sep 17 2014
next sibling parent ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Wed, 17 Sep 2014 09:57:02 +0000
Peter Alexander via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 * CTFE version! (I imagine this will choke on most benchmarks
 though...)
nope. it's not compile time that measured, it's execution time. so D will tear apart any other language in this benchmarks. what can be faster that just printing the result and exiting, without any calculation? i'm sure that other languages just can't beat D speed, so they tries to avoid such competition. ;-)
Sep 17 2014
prev sibling next sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
Peter Alexander:

 * Direct translation from the C++ version.
 * High-level version using standard library, particularly ranges
 (this should be  safe!)
 * Low-level hand optimized using core.simd (when applicable).
 * CTFE version! (I imagine this will choke on most benchmarks
 though...)
The safety-conscious version is missing in this list. Just using ranges doesn't suffice.
 If anyone already has translations of the benchmark programs 
 then
 please send them to me (or just reply to the bug with an
 attachment).
I have plenty of D implementations, but keep in mind that D changes, so the various programs will need updates. Bye, bearophile
Sep 17 2014
prev sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/17/14, 2:57 AM, Peter Alexander wrote:
 This is what I intend to do (time permitting)

 * Direct translation from the C++ version.
 * High-level version using standard library, particularly ranges
 (this should be  safe!)
 * Low-level hand optimized using core.simd (when applicable).
 * CTFE version! (I imagine this will choke on most benchmarks
 though...)

 Of course, I'll test across dmd, gdc, and ldc2.

 Aside from being PR to show the speed of D, hopefully these
 benchmarks will serve as test beds for potential optimizations.

 If anyone already has translations of the benchmark programs then
 please send them to me (or just reply to the bug with an
 attachment).
Awesome. Suggestion in order to leverage crowdsourcing: first focus on setting up the test bed such that adding benchmarks is easy. Then you and others can add a bunch of benchmarks. Andrei
Sep 17 2014
next sibling parent reply "Peter Alexander" <peter.alexander.au gmail.com> writes:
On Wednesday, 17 September 2014 at 14:59:48 UTC, Andrei 
Alexandrescu wrote:
 Awesome. Suggestion in order to leverage crowdsourcing: first 
 focus on setting up the test bed such that adding benchmarks is 
 easy. Then you and others can add a bunch of benchmarks.
Yep, sounds like a plan.
Sep 17 2014
parent "qznc" <qznc web.de> writes:
On Wednesday, 17 September 2014 at 15:41:02 UTC, Peter Alexander 
wrote:
 On Wednesday, 17 September 2014 at 14:59:48 UTC, Andrei 
 Alexandrescu wrote:
 Awesome. Suggestion in order to leverage crowdsourcing: first 
 focus on setting up the test bed such that adding benchmarks 
 is easy. Then you and others can add a bunch of benchmarks.
Yep, sounds like a plan.
Anything up already? A Github repo or something?
Oct 30 2014
prev sibling parent reply "David Nadlinger" <code klickverbot.at> writes:
On Wednesday, 17 September 2014 at 14:59:48 UTC, Andrei 
Alexandrescu wrote:
 Awesome. Suggestion in order to leverage crowdsourcing: first 
 focus on setting up the test bed such that adding benchmarks is 
 easy. Then you and others can add a bunch of benchmarks.
On a somewhat related note, I've been working on a CI system to keep tabs on the compile-time/run-time performance, memory usage and file size for our compilers. It's strictly geared towards executing the same test case on different compiler configurations, though, so it doesn't really overlap with what is proposed here. Right now, its continually building DMD/GDC/LDC from Git and measuring some 40 mostly small benchmarks, but I need to improve the web UI a lot before it is ready for public consumption. Just thought I would mention it here to avoid scope creep in what Peter Alexander (and others) might be working on. Cheers, David
Sep 17 2014
next sibling parent reply "Peter Alexander" <peter.alexander.au gmail.com> writes:
On Wednesday, 17 September 2014 at 18:30:37 UTC, David Nadlinger 
wrote:
 On Wednesday, 17 September 2014 at 14:59:48 UTC, Andrei 
 Alexandrescu wrote:
 Awesome. Suggestion in order to leverage crowdsourcing: first 
 focus on setting up the test bed such that adding benchmarks 
 is easy. Then you and others can add a bunch of benchmarks.
On a somewhat related note, I've been working on a CI system to keep tabs on the compile-time/run-time performance, memory usage and file size for our compilers. It's strictly geared towards executing the same test case on different compiler configurations, though, so it doesn't really overlap with what is proposed here. Right now, its continually building DMD/GDC/LDC from Git and measuring some 40 mostly small benchmarks, but I need to improve the web UI a lot before it is ready for public consumption. Just thought I would mention it here to avoid scope creep in what Peter Alexander (and others) might be working on.
That sounds great. I'm not planning anything grand with this. I'm just going to get the already exiting benchmark framework working with dmd, ldc, and gdc; and put it on github so people can contribute implementations. I imagine what you have could probably be extended to do comparisons with other languages, but I think there's still value in getting these benchmarks working because they are so well known and respected.
Sep 17 2014
parent "David Nadlinger" <code klickverbot.at> writes:
On Wednesday, 17 September 2014 at 18:58:20 UTC, Peter Alexander 
wrote:
 I imagine what you have could probably be extended to do 
 comparisons with other languages,
Not really. Well, I could always add some sort of "reference" functionality to compare the results to equivalent C++/… implementations, but my focus definitely is on tracking compiler development over time.
 but I think there's still value in getting these benchmarks 
 working because they are so well known and respected.
Definitely! I'll be adding them to my test suite as well, but my audience is a different one. David
Sep 17 2014
prev sibling parent "Isaac Gouy" <igouy2 yahoo.com> writes:
On Wednesday, 17 September 2014 at 18:30:37 UTC, David Nadlinger 
wrote:
-snip-
 On a somewhat related note, I've been working on a CI system to 
 keep tabs on the compile-time/run-time performance, memory 
 usage and file size for our compilers.
Maybe you've seen Emery Berger's work on Stabilizer? http://plasma.cs.umass.edu/emery/stabilizer I'm not smart enough to understand how that could be applied to D compilers ;)
Sep 17 2014
prev sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/16/14, 11:59 PM, bearophile wrote:
 Andrei Alexandrescu:

 https://issues.dlang.org/show_bug.cgi?id=13487
If the upload conditions and site are sufficiently good I am willing to offer some implementations in D and to keep them updated. I suggest to add two D versions for some benchmarks, one that shows short high level code, and one that shows longer hairier fast code. In some cases I'd even like to show a third "safe" version (that tries to be more correct), but most Shootout/ComputerGame benchmarks are not very fit for this (you can see some examples of this on Rosettacode).
I'm glad folks like Alexander, Russel, and yourself are interested in chipping in. Thanks! Let's do it all on the github repo. Add a directory e.g. tools/benchmarks/ and organize things in there. Thanks, Andrei
Sep 17 2014
next sibling parent "H. S. Teoh via Digitalmars-d" <digitalmars-d puremagic.com> writes:
On Wed, Sep 17, 2014 at 07:46:00AM -0700, Andrei Alexandrescu via Digitalmars-d
wrote:
 On 9/16/14, 11:59 PM, bearophile wrote:
Andrei Alexandrescu:

https://issues.dlang.org/show_bug.cgi?id=13487
If the upload conditions and site are sufficiently good I am willing to offer some implementations in D and to keep them updated. I suggest to add two D versions for some benchmarks, one that shows short high level code, and one that shows longer hairier fast code. In some cases I'd even like to show a third "safe" version (that tries to be more correct), but most Shootout/ComputerGame benchmarks are not very fit for this (you can see some examples of this on Rosettacode).
I'm glad folks like Alexander, Russel, and yourself are interested in chipping in. Thanks! Let's do it all on the github repo. Add a directory e.g. tools/benchmarks/ and organize things in there.
[...] Excellent move. If it's in github, then more people can contribute. I might contribute as well, if I find the time to do it. T -- Ignorance is bliss... until you suffer the consequences!
Sep 17 2014
prev sibling next sibling parent reply Russel Winder via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Wed, 2014-09-17 at 07:46 -0700, Andrei Alexandrescu via Digitalmars-d
wrote:
[=E2=80=A6]
 Let's do it all on the github repo. Add a directory e.g.=20
 tools/benchmarks/ and organize things in there.
A DVCS repository is clearly the correct infrastructure for this, but perhaps it should be a separate standalone one? --=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
Sep 17 2014
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/17/14, 8:59 AM, Russel Winder via Digitalmars-d wrote:
 On Wed, 2014-09-17 at 07:46 -0700, Andrei Alexandrescu via Digitalmars-d
 wrote:
 […]
 Let's do it all on the github repo. Add a directory e.g.
 tools/benchmarks/ and organize things in there.
A DVCS repository is clearly the correct infrastructure for this, but perhaps it should be a separate standalone one?
Nothing wrong with starting small and moving later to a larger pond when the need arises. Let's just get this started without worrying too much about minutia. -- Andrei
Sep 17 2014
next sibling parent reply Russel Winder via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Wed, 2014-09-17 at 09:30 -0700, Andrei Alexandrescu via Digitalmars-d
wrote:
[=E2=80=A6]
 Nothing wrong with starting small and moving later to a larger pond when=
=20
 the need arises. Let's just get this started without worrying too much=
=20
 about minutia. -- Andrei
OK so to the minutiae :-) which repository is this directory in? --=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
Sep 17 2014
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/17/14, 10:45 AM, Russel Winder via Digitalmars-d wrote:
 On Wed, 2014-09-17 at 09:30 -0700, Andrei Alexandrescu via Digitalmars-d
 wrote:
 […]
 Nothing wrong with starting small and moving later to a larger pond when
 the need arises. Let's just get this started without worrying too much
 about minutia. -- Andrei
OK so to the minutiae :-) which repository is this directory in?
Just put it in tools/benchmarks/ for now and stop worrying about it. We can move it later. -- Andrei
Sep 17 2014
prev sibling parent "H. S. Teoh via Digitalmars-d" <digitalmars-d puremagic.com> writes:
On Wed, Sep 17, 2014 at 06:45:21PM +0100, Russel Winder via Digitalmars-d wrote:
 On Wed, 2014-09-17 at 09:30 -0700, Andrei Alexandrescu via Digitalmars-d
 wrote:
 […]
 Nothing wrong with starting small and moving later to a larger pond
 when the need arises. Let's just get this started without worrying
 too much about minutia. -- Andrei
OK so to the minutiae :-) which repository is this directory in?
[...] I believe Andrei was referring to: https://github.com/D-Programming-Language/tools T -- Too many people have open minds but closed eyes.
Sep 17 2014
prev sibling parent reply "bachmeier" <no spam.com> writes:
On Wednesday, 17 September 2014 at 14:45:59 UTC, Andrei
Alexandrescu wrote:
 On 9/16/14, 11:59 PM, bearophile wrote:
 Andrei Alexandrescu:

 https://issues.dlang.org/show_bug.cgi?id=13487
If the upload conditions and site are sufficiently good I am willing to offer some implementations in D and to keep them updated. I suggest to add two D versions for some benchmarks, one that shows short high level code, and one that shows longer hairier fast code. In some cases I'd even like to show a third "safe" version (that tries to be more correct), but most Shootout/ComputerGame benchmarks are not very fit for this (you can see some examples of this on Rosettacode).
I'm glad folks like Alexander, Russel, and yourself are interested in chipping in. Thanks! Let's do it all on the github repo. Add a directory e.g. tools/benchmarks/ and organize things in there. Thanks, Andrei
Would this be limited to the Computer Language Benchmarks Game? This paper has gotten a lot of attention among economists: http://www.econ.upenn.edu/~jesusfv/comparison_languages.pdf They mention D, but only to say "D, which generates code usually roughly of the same speed as C++, is less popular". Demonstrating that you can write code that is competitive with C++ but in an elegant language would be powerful. Another site is http://quant-econ.net/ which has gotten a lot of attention. It uses Python. I'd like to write D versions of the programs to demonstrate that you can have a language that's both nicer than Python and much, much faster.
Sep 17 2014
parent Russel Winder via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Wed, 2014-09-17 at 17:50 +0000, bachmeier via Digitalmars-d wrote:
[=E2=80=A6]

 which has gotten a lot of attention. It uses Python. I'd like to
 write D versions of the programs to demonstrate that you can have
 a language that's both nicer than Python and much, much faster.
You can no longer bet on that and expect to win. Python + Numba is likely as fast as C/C++/D/=E2=80=A6. OK so quants are currently using Python + NumPy which C/C++/D can generally comfortably beat. But you need to get you returns in quick before I and others get the quants using Python + Numba. --=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
Sep 17 2014
prev sibling parent Russel Winder via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Tue, 2014-09-16 at 21:04 +0000, Peter Alexander via Digitalmars-d
wrote:
[=E2=80=A6]
 I'll take a stab at it. Will give me something to do on my=20
 commute :-)  (assuming his scripts work, or can be made to work=20
 on OS X).
I started doing something similar for Groovy a while back (with CompileStatic, Groovy should now be as fast as Java for all the benchmarks) but ran out of cycles and had to put it on the back burner. If I could track and chip in with a D variant, mayhap this will help get the Groovy/Java version back on track. I would run the codes on my ancient dual Xeon workstation, so slow for sequential but excellent for dealing with scaling issues. I could easily run D codes as well as the C, C++, Fortran, Java and Groovy ones. For D I would suggest C, C++ and Fortran as the comparison languages. Using the codes Isaac uses would seem entirely appropriate for this, then D is the only variable (other than the machine used for the tests). For the Groovy version my intention had been to use Isaac's C++ and Java as the comparison languages. I had always been intending to publish the results via my own server by adding an extra virtual address to my Apache instance, however if there is a possibility of joining forces with a D activity "in the Cloud", I'd be happy to do that. --=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
Sep 16 2014
prev sibling parent "Isaac Gouy" <igouy2 yahoo.com> writes:
On Monday, 15 September 2014 at 23:56:23 UTC, bearophile wrote:
-snip-
By now - if they had actually made measurements, and published 
and promoted them - their website would be highly ranked.<
This is probably false, for two or more reasons.
It's so much less-effort to assume failure than to do the work required to make a success ;-)
Sep 15 2014
prev sibling next sibling parent "anonymous" <anonymous example.com> writes:
On Monday, 15 September 2014 at 20:09:31 UTC, Martin Nowak wrote:
 http://learnxinyminutes.com/
On Monday, 18 November 2013 at 12:38:31 UTC, anonymous wrote:
 I had a go at it a while ago, but I lost interest. Here's what 
 I came up with: <https://gist.github.com/anonymous/7527033>. If 
 anyone wants to get this done, take what you want from my draft.
http://forum.dlang.org/thread/l6baie$vci$1 digitalmars.com
Sep 16 2014
prev sibling parent reply "Anonymous" <anonymous gmail.com> writes:
Dlang on 4chan

http://boards.4chan.org/g/thread/44196390/dlang
Sep 16 2014
parent reply Martin Drasar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 16.9.2014 20:07, Anonymous via Digitalmars-d wrote:
 Dlang on 4chan
 
 http://boards.4chan.org/g/thread/44196390/dlang
Yeah, and the discussion is just in line with typical 4chan discussions :-) A1) Andrei is fucking hot and he's not russian A2) A1: >Andrei will never be your husbando Why bother living?
Sep 16 2014
next sibling parent "Cliff" <cliff.s.hudson gmail.com> writes:
On Tuesday, 16 September 2014 at 21:21:08 UTC, Martin Drasar via
Digitalmars-d wrote:
 On 16.9.2014 20:07, Anonymous via Digitalmars-d wrote:
 Dlang on 4chan
 
 http://boards.4chan.org/g/thread/44196390/dlang
Yeah, and the discussion is just in line with typical 4chan discussions :-) A1) Andrei is fucking hot and he's not russian A2) A1: >Andrei will never be your husbando Why bother living?
Also: A) GC bad! I can manage memory myself, and multithreading is child's-play - people who use D must be slow and stupid... *snort* Ok, you and your delusions of competence are excused from the conversation now...
Sep 16 2014
prev sibling parent "Meta" <jared771 gmail.com> writes:
On Tuesday, 16 September 2014 at 21:21:08 UTC, Martin Drasar via 
Digitalmars-d wrote:
 On 16.9.2014 20:07, Anonymous via Digitalmars-d wrote:
 Dlang on 4chan
 
 http://boards.4chan.org/g/thread/44196390/dlang
Yeah, and the discussion is just in line with typical 4chan discussions :-) A1) Andrei is fucking hot and he's not russian A2) A1: >Andrei will never be your husbando Why bother living?
Those ones gave me a laugh.
Sep 16 2014