Re: Benchmarking suite

2015-09-09 Thread qznc via Digitalmars-d
On Tuesday, 8 September 2015 at 23:20:05 UTC, Ola Fosheim Grøstad wrote: On Tuesday, 8 September 2015 at 21:11:15 UTC, qznc wrote: Yes. I'm not sure how to structure this whole suite. The general goal is "D claims that it can match C/C++ in performance, let's have some actual numbers". So far

Re: Benchmarking suite

2015-09-09 Thread via Digitalmars-d
On Wednesday, 9 September 2015 at 07:59:48 UTC, qznc wrote: I'm not sure if I understand you correctly. What is "high level" and "low level" optimization? Low level are local optimizations, which basically will be the same if you use the same backend (like LLVM). It would just measure the

Re: Benchmarking suite

2015-09-09 Thread via Digitalmars-d
On Wednesday, 9 September 2015 at 14:00:07 UTC, qznc wrote: That is a good idea, if you want to measure compiler optimizations. Ideally g++ and gdc should always yield the same performance then? Hopefully, as I understand GCC uses a highlevel IR, but if performance is equal that is a pretty

Re: Benchmarking suite

2015-09-09 Thread qznc via Digitalmars-d
On Wednesday, 9 September 2015 at 09:56:10 UTC, Ola Fosheim Grøstad wrote: I think the better approach is to write up the same algorithms in a high level fashion (using generic templates on both sides) from the ground up using the same constructs and measure the ability to optimize. That is

Re: Benchmarking suite

2015-09-09 Thread Iain Buclaw via Digitalmars-d
On 9 September 2015 at 16:00, qznc via Digitalmars-d < digitalmars-d@puremagic.com> wrote: > On Wednesday, 9 September 2015 at 09:56:10 UTC, Ola Fosheim Grøstad wrote: > >> I think the better approach is to write up the same algorithms in a high >> level fashion (using generic templates on both

Re: Benchmarking suite

2015-09-09 Thread Isaac Gouy via Digitalmars-d
On Tuesday, 8 September 2015 at 21:06:26 UTC, qznc wrote: Afaik the Erlang runtime does not interrupt processes. Depends what you mean by "processes" :-) In this comparison it is actually interesting, because D has its own bignum implementation in the standard library. There you go! On

Re: Benchmarking suite

2015-09-09 Thread qznc via Digitalmars-d
On Wednesday, 9 September 2015 at 14:09:36 UTC, Iain Buclaw wrote: import gcc.builtins; // OK, cheating. :-) Thanks, I did not know this. :) I would not consider it cheating. Using builtins in C is not portable C11 either. It also shows off how D does versions.

Re: Benchmarking suite

2015-09-09 Thread qznc via Digitalmars-d
On Wednesday, 9 September 2015 at 16:58:41 UTC, Russel Winder wrote: On Tue, 2015-09-08 at 21:11 +, qznc via Digitalmars-d wrote: […] Yes. I'm not sure how to structure this whole suite. The general goal is "D claims that it can match C/C++ in performance, let's have some actual

Re: Benchmarking suite

2015-09-09 Thread Russel Winder via Digitalmars-d
On Tue, 2015-09-08 at 21:11 +, qznc via Digitalmars-d wrote: > […] > Yes. I'm not sure how to structure this whole suite. The general > goal is "D claims that it can match C/C++ in performance, let's > have some actual numbers". So far D mostly disappoints in terms > of performance. > >

Re: Benchmarking suite

2015-09-08 Thread qznc via Digitalmars-d
On Tuesday, 8 September 2015 at 08:24:43 UTC, Robert burner Schadek wrote: Why not go really big. aka: http://forum.dlang.org/post/vzcvwrbqpeamtnopm...@forum.dlang.org You suggest to create a benchmark suite from all the unittests in Phobos? I don't think this is a good idea. Most programs

Re: Benchmarking suite

2015-09-08 Thread Robert burner Schadek via Digitalmars-d
Why not go really big. aka: http://forum.dlang.org/post/vzcvwrbqpeamtnopm...@forum.dlang.org

Re: Benchmarking suite

2015-09-08 Thread qznc via Digitalmars-d
On Tuesday, 8 September 2015 at 09:27:13 UTC, qznc wrote: On Tuesday, 8 September 2015 at 08:24:43 UTC, Robert burner Schadek wrote: Why not go really big. aka: http://forum.dlang.org/post/vzcvwrbqpeamtnopm...@forum.dlang.org You suggest to create a benchmark suite from all the unittests in

Re: Benchmarking suite

2015-09-08 Thread Isaac Gouy via Digitalmars-d
On Tuesday, 8 September 2015 at 09:27:13 UTC, qznc wrote: For example, threadring measures context switching. thread-ring has aged badly. It was added when the measurements were only made on single-core hardware, and Erlang's huge number of lightweight processes seemed interesting ;-)

Re: Benchmarking suite

2015-09-08 Thread Isaac Gouy via Digitalmars-d
On Saturday, 29 August 2015 at 12:05:18 UTC, qznc wrote: I started something on my own. Kudos to qznc! The C/C++ programs were selected quite randomly. Note: There are separate C and C++ programs shown on the benchmarks game -- so for something like regex-dna there's a C program using

Re: Benchmarking suite

2015-09-08 Thread qznc via Digitalmars-d
On Tuesday, 8 September 2015 at 18:41:10 UTC, Isaac Gouy wrote: On Saturday, 29 August 2015 at 12:05:18 UTC, qznc wrote: I started something on my own. Kudos to qznc! The C/C++ programs were selected quite randomly. Note: There are separate C and C++ programs shown on the benchmarks

Re: Benchmarking suite

2015-09-08 Thread qznc via Digitalmars-d
On Tuesday, 8 September 2015 at 18:53:02 UTC, Isaac Gouy wrote: On Tuesday, 8 September 2015 at 09:27:13 UTC, qznc wrote: For example, threadring measures context switching. thread-ring has aged badly. It was added when the measurements were only made on single-core hardware, and Erlang's

Re: Benchmarking suite

2015-09-08 Thread via Digitalmars-d
On Tuesday, 8 September 2015 at 21:11:15 UTC, qznc wrote: Yes. I'm not sure how to structure this whole suite. The general goal is "D claims that it can match C/C++ in performance, let's have some actual numbers". So far D mostly disappoints in terms of performance. The most interesting

Re: Benchmarking suite

2015-09-08 Thread Jack Stouffer via Digitalmars-d
On Monday, 7 September 2015 at 08:33:33 UTC, Dmitry Olshansky wrote: On 07-Sep-2015 11:29, qznc wrote: Maybe std.regex has just space for optimization? Sure thing, see WIP here (~25% faster but not yet complete): https://github.com/D-Programming-Language/phobos/pull/3314 It's been over a

Re: Benchmarking suite

2015-09-07 Thread Dmitry Olshansky via Digitalmars-d
On 07-Sep-2015 11:29, qznc wrote: Maybe std.regex has just space for optimization? Sure thing, see WIP here (~25% faster but not yet complete): https://github.com/D-Programming-Language/phobos/pull/3314 -- Dmitry Olshansky

Re: Benchmarking suite

2015-09-07 Thread qznc via Digitalmars-d
On Sunday, 30 August 2015 at 13:21:42 UTC, qznc wrote: On Saturday, 29 August 2015 at 19:17:47 UTC, Dmitry Olshansky wrote: On 29-Aug-2015 21:14, qznc wrote: On Saturday, 29 August 2015 at 12:35:14 UTC, Dmitry Olshansky wrote: Well, here is the regex-dna one with 3 versions including C-T

Re: Benchmarking suite

2015-09-07 Thread Suliman via Digitalmars-d
On Monday, 7 September 2015 at 08:33:33 UTC, Dmitry Olshansky wrote: On 07-Sep-2015 11:29, qznc wrote: Maybe std.regex has just space for optimization? Sure thing, see WIP here (~25% faster but not yet complete): https://github.com/D-Programming-Language/phobos/pull/3314 Could anybody add

Re: Benchmarking suite

2015-08-30 Thread qznc via Digitalmars-d
On Sunday, 30 August 2015 at 14:56:34 UTC, Dmitry Olshansky wrote: Was one of the first benchmarks where std.regex destroyed the competition. It may still do so ;) Rust has compile-time regex as well now. http://doc.rust-lang.org/regex/regex/index.html#the-regex!-macro

Re: Benchmarking suite

2015-08-30 Thread qznc via Digitalmars-d
On Saturday, 29 August 2015 at 12:05:18 UTC, qznc wrote: Maybe somebody has already fixed or improved benchmark programs? As of now, most things work. Only meteor.d is broken. Crashes at runtime. Ldc and gdc sometimes fail, because they are behind dmd. regexdna.cpp fails, because re2 is not

Re: Benchmarking suite

2015-08-30 Thread qznc via Digitalmars-d
On Saturday, 29 August 2015 at 19:17:47 UTC, Dmitry Olshansky wrote: On 29-Aug-2015 21:14, qznc wrote: On Saturday, 29 August 2015 at 12:35:14 UTC, Dmitry Olshansky wrote: Well, here is the regex-dna one with 3 versions including C-T regex:

Re: Benchmarking suite

2015-08-30 Thread Dmitry Olshansky via Digitalmars-d
On 30-Aug-2015 19:57, qznc wrote: On Sunday, 30 August 2015 at 14:56:34 UTC, Dmitry Olshansky wrote: Was one of the first benchmarks where std.regex destroyed the competition. It may still do so ;) Rust has compile-time regex as well now.

Re: Benchmarking suite

2015-08-30 Thread Dmitry Olshansky via Digitalmars-d
On 30-Aug-2015 16:21, qznc wrote: On Saturday, 29 August 2015 at 19:17:47 UTC, Dmitry Olshansky wrote: On 29-Aug-2015 21:14, qznc wrote: On Saturday, 29 August 2015 at 12:35:14 UTC, Dmitry Olshansky wrote: Well, here is the regex-dna one with 3 versions including C-T regex:

Benchmarking suite

2015-08-29 Thread qznc via Digitalmars-d
Since issue 13487 [0] seems to rot away, I started something on my own. Made a benchmark script and inserted C/C++/D programs for comparison. However, various programs are broken, as you see in the example report [1]. The D code is at least 7 years old. I only fixed compile errors. The C/C++

Re: Benchmarking suite

2015-08-29 Thread Dmitry Olshansky via Digitalmars-d
On 29-Aug-2015 15:05, qznc wrote: Since issue 13487 [0] seems to rot away, I started something on my own. Made a benchmark script and inserted C/C++/D programs for comparison. However, various programs are broken, as you see in the example report [1]. The D code is at least 7 years old. I only

Re: Benchmarking suite

2015-08-29 Thread qznc via Digitalmars-d
On Saturday, 29 August 2015 at 12:35:14 UTC, Dmitry Olshansky wrote: Well, here is the regex-dna one with 3 versions including C-T regex: https://github.com/DmitryOlshansky/FReD/blob/master/bench/regex-dna/d_dna.d Thanks Dmitry! Which version should be used?

Re: Benchmarking suite

2015-08-29 Thread Dmitry Olshansky via Digitalmars-d
On 29-Aug-2015 21:14, qznc wrote: On Saturday, 29 August 2015 at 12:35:14 UTC, Dmitry Olshansky wrote: Well, here is the regex-dna one with 3 versions including C-T regex: https://github.com/DmitryOlshansky/FReD/blob/master/bench/regex-dna/d_dna.d Thanks Dmitry! Which version should be