Re: Disappointing performance from DMD/Phobos

2018-06-26 Thread Manu via Digitalmars-d
On Tue., 26 Jun. 2018, 11:45 am Iain Buclaw via Digitalmars-d, < digitalmars-d@puremagic.com> wrote: > On 26 June 2018 at 20:07, Manu via Digitalmars-d > wrote: > > On Tue, 26 Jun 2018 at 10:43, Iain Buclaw via Digitalmars-d > > wrote: > >> > >> On 26 June 2018 at 19:41, Manu via Digitalmars-d >

Re: `update` and `require` properties for AA

2018-06-26 Thread Seb via Digitalmars-d
On Tuesday, 26 June 2018 at 16:17:03 UTC, Timoses wrote: Doesn't it already offer it? Here https://dlang.org/spec/hash-map.html in the very top right corner you can diverge from master. However it seems a bit bugged that when selecting something else than master, it suddenly prints master again

Re: `update` and `require` properties for AA

2018-06-26 Thread Seb via Digitalmars-d
On Tuesday, 26 June 2018 at 16:54:11 UTC, Steven Schveighoffer wrote: On 6/26/18 12:48 PM, Steven Schveighoffer wrote: On 6/26/18 11:51 AM, H. S. Teoh wrote: On Tue, Jun 26, 2018 at 07:25:09AM +, Mike Franklin via Digitalmars-d wrote: [...] I think the documentation gets published prematur

Re: `update` and `require` properties for AA

2018-06-26 Thread Seb via Digitalmars-d
On Tuesday, 26 June 2018 at 17:12:37 UTC, H. S. Teoh wrote: On Tue, Jun 26, 2018 at 12:54:11PM -0400, Steven Schveighoffer via Digitalmars-d wrote: [...] 1. The dlang.org repository is backwards -- master generates the docs for the default dlang.org. I've brought this up before, still don't und

Re: Phobos begat madness

2018-06-26 Thread David Bennett via Digitalmars-d
On Monday, 25 June 2018 at 01:03:03 UTC, David Bennett wrote: On Friday, 22 June 2018 at 21:37:07 UTC, Walter Bright wrote: If someone wants to figure out how to build an uncomplicated, straightforward, efficient implementation of text() that we can be proud of, that would be a nice contribut

Re: Disappointing performance from DMD/Phobos

2018-06-26 Thread Basile B. via Digitalmars-d
On Tuesday, 26 June 2018 at 02:20:37 UTC, Manu wrote: On Mon, 25 Jun 2018 at 19:10, Manu wrote: Some code: - struct Entity { enum NumSystems = 4; struct SystemData { uint start, length; } SystemData[NumSystems] systemData; @property uint systemBi

Re: Disappointing performance from DMD/Phobos

2018-06-26 Thread Jonathan M Davis via Digitalmars-d
On Tuesday, June 26, 2018 10:38:42 Manu via Digitalmars-d wrote: > On Mon, 25 Jun 2018 at 20:17, Jonathan M Davis via Digitalmars-d > > wrote: > > dmd's inliner is notoriously poor, > > I know, but it's still the reference compiler, and it should at least > to a reasonable job at the kind of D cod

Re: Disappointing performance from DMD/Phobos

2018-06-26 Thread kinke via Digitalmars-d
On Tuesday, 26 June 2018 at 17:38:42 UTC, Manu wrote: I know, but it's still the reference compiler, and it should at least to a reasonable job at the kind of D code that it's *recommended* that users write. I get your point, but IMO it's all about efficient allocation of the manpower we hav

Re: Disappointing performance from DMD/Phobos

2018-06-26 Thread Iain Buclaw via Digitalmars-d
On 26 June 2018 at 20:07, Manu via Digitalmars-d wrote: > On Tue, 26 Jun 2018 at 10:43, Iain Buclaw via Digitalmars-d > wrote: >> >> On 26 June 2018 at 19:41, Manu via Digitalmars-d >> wrote: >> > On Mon, 25 Jun 2018 at 20:50, Nicholas Wilson via Digitalmars-d >> > wrote: >> >> >> >> Then use L

Re: Disappointing performance from DMD/Phobos

2018-06-26 Thread Iain Buclaw via Digitalmars-d
On 26 June 2018 at 20:26, Eugene Wissner via Digitalmars-d wrote: > On Tuesday, 26 June 2018 at 18:07:56 UTC, Manu wrote: >> >> On Tue, 26 Jun 2018 at 10:43, Iain Buclaw via Digitalmars-d >> wrote: >>> >>> >>> On 26 June 2018 at 19:41, Manu via Digitalmars-d >>> wrote: >>> > On Mon, 25 Jun 2018

Re: Disappointing performance from DMD/Phobos

2018-06-26 Thread Eugene Wissner via Digitalmars-d
On Tuesday, 26 June 2018 at 18:07:56 UTC, Manu wrote: On Tue, 26 Jun 2018 at 10:43, Iain Buclaw via Digitalmars-d wrote: On 26 June 2018 at 19:41, Manu via Digitalmars-d wrote: > On Mon, 25 Jun 2018 at 20:50, Nicholas Wilson via > Digitalmars-d wrote: >> >> Then use LDC! ;) > > Keep LDC u

Re: Disappointing performance from DMD/Phobos

2018-06-26 Thread Manu via Digitalmars-d
On Tue, 26 Jun 2018 at 10:43, Iain Buclaw via Digitalmars-d wrote: > > On 26 June 2018 at 19:41, Manu via Digitalmars-d > wrote: > > On Mon, 25 Jun 2018 at 20:50, Nicholas Wilson via Digitalmars-d > > wrote: > >> > >> Then use LDC! ;) > > > > Keep LDC up to date with DMD master daily! ;) > > Lik

Re: Disappointing performance from DMD/Phobos

2018-06-26 Thread Iain Buclaw via Digitalmars-d
On 26 June 2018 at 19:41, Manu via Digitalmars-d wrote: > On Mon, 25 Jun 2018 at 20:50, Nicholas Wilson via Digitalmars-d > wrote: >> >> Then use LDC! ;) > > Keep LDC up to date with DMD master daily! ;) Like what GDC is doing (almost) ;-) Iain.

Re: Disappointing performance from DMD/Phobos

2018-06-26 Thread Manu via Digitalmars-d
On Mon, 25 Jun 2018 at 20:50, Nicholas Wilson via Digitalmars-d wrote: > > Then use LDC! ;) Keep LDC up to date with DMD master daily! ;)

Re: Disappointing performance from DMD/Phobos

2018-06-26 Thread Manu via Digitalmars-d
On Mon, 25 Jun 2018 at 20:17, Jonathan M Davis via Digitalmars-d wrote: > > dmd's inliner is notoriously poor, I know, but it's still the reference compiler, and it should at least to a reasonable job at the kind of D code that it's *recommended* that users write. That line of code is the sort of

Re: `update` and `require` properties for AA

2018-06-26 Thread H. S. Teoh via Digitalmars-d
On Tue, Jun 26, 2018 at 12:54:11PM -0400, Steven Schveighoffer via Digitalmars-d wrote: [...] > 1. The dlang.org repository is backwards -- master generates the docs > for the default dlang.org. I've brought this up before, still don't > understand why we don't use stable for the latest dlang.org.

Re: `update` and `require` properties for AA

2018-06-26 Thread Steven Schveighoffer via Digitalmars-d
On 6/26/18 12:48 PM, Steven Schveighoffer wrote: On 6/26/18 11:51 AM, H. S. Teoh wrote: On Tue, Jun 26, 2018 at 07:25:09AM +, Mike Franklin via Digitalmars-d wrote: [...] I think the documentation gets published prematurely.  The new methods for the associative arrays should come in the ne

Re: `update` and `require` properties for AA

2018-06-26 Thread Steven Schveighoffer via Digitalmars-d
On 6/26/18 11:51 AM, H. S. Teoh wrote: On Tue, Jun 26, 2018 at 07:25:09AM +, Mike Franklin via Digitalmars-d wrote: [...] I think the documentation gets published prematurely. The new methods for the associative arrays should come in the next release, scheduled for July 1st. https://dlang.

Re: `update` and `require` properties for AA

2018-06-26 Thread H. S. Teoh via Digitalmars-d
On Tue, Jun 26, 2018 at 04:17:03PM +, Timoses via Digitalmars-d wrote: > On Tuesday, 26 June 2018 at 15:51:00 UTC, H. S. Teoh wrote: [...] > > Seriously, we need to start implementing versioned docs on dlang.org. [...] > Doesn't it already offer it? > > Here https://dlang.org/spec/hash-map.htm

Re: `update` and `require` properties for AA

2018-06-26 Thread Timoses via Digitalmars-d
On Tuesday, 26 June 2018 at 15:51:00 UTC, H. S. Teoh wrote: On Tue, Jun 26, 2018 at 07:25:09AM +, Mike Franklin via Digitalmars-d wrote: [...] I think the documentation gets published prematurely. The new methods for the associative arrays should come in the next release, scheduled for Jul

Re: opDispatch and alias this

2018-06-26 Thread Steven Schveighoffer via Digitalmars-d
On 6/25/18 7:13 PM, Seb wrote: Apparently three years ago it was we decided to ban alias this and opDispatch in the same class. What are your thoughts on this now? Is anyone depending on using alias this + opDispatch together like e.g. in https://github.com/dlang/phobos/pull/6596? My thoughts

Re: `update` and `require` properties for AA

2018-06-26 Thread H. S. Teoh via Digitalmars-d
On Tue, Jun 26, 2018 at 07:25:09AM +, Mike Franklin via Digitalmars-d wrote: [...] > I think the documentation gets published prematurely. The new methods > for the associative arrays should come in the next release, scheduled > for July 1st. https://dlang.org/changelog/pending.html#require_u

Re: Disappointing performance from DMD/Phobos

2018-06-26 Thread H. S. Teoh via Digitalmars-d
When I see "DMD" and "performance" in the same sentence, my first reaction is, "why aren't you using LDC or GDC"? Seriously, doing performance measurements with DMD is a waste of time, because its optimizer has been proven time and again to be suboptimal (har!). DMD frequently produces suboptimal

Re: D hash table comparison benchmark

2018-06-26 Thread Nathan S. via Digitalmars-d
On Tuesday, 26 June 2018 at 14:33:25 UTC, Eugene Wissner wrote: Tanya hashes any value, also integral types; other hashtables probably not. Your intuition is correct here. Most of the tables use `typeid(key).getHash(&key)`, which for `int` just returns `key`. = Built-in AA = General case: `t

Re: D hash table comparison benchmark

2018-06-26 Thread Eugene Wissner via Digitalmars-d
On Tuesday, 26 June 2018 at 09:03:10 UTC, Eugene Wissner wrote: It seems it doesn't work with a branch in dub.sdl. I just replaced the files in ~/.dub/packages. And to make tanya perform better than built-in AAs in the first test, define a hash function: size_t hasher(int e) { return e;

Re: D hash table comparison benchmark

2018-06-26 Thread Nathan S. via Digitalmars-d
BTW the output is formatted so you can get a sorted list of times across all trials by piping the output through `sort -n`. That's also why the tests reusing maps start with ( instead of [, so they will be grouped separately.

Re: Tuple DIP

2018-06-26 Thread Francesco Mecca via Digitalmars-d
On Friday, 12 January 2018 at 22:44:48 UTC, Timon Gehr wrote: As promised [1], I have started setting up a DIP to improve tuple ergonomics in D: [...] What is the status of the DIP? Is it ready to be proposed and dicussed?

Re: D hash table comparison benchmark

2018-06-26 Thread Eugene Wissner via Digitalmars-d
It seems it doesn't work with a branch in dub.sdl. I just replaced the files in ~/.dub/packages.

Re: allMembers broke for __

2018-06-26 Thread dayllenger via Digitalmars-d
On Tuesday, 19 June 2018 at 12:59:00 UTC, Steven Schveighoffer wrote: I'd recommend putting in an enhancement request in bugzilla. Done: https://issues.dlang.org/show_bug.cgi?id=19028 Really, this behaviour at least should be reflected in `allMembers` and `derivedMembers` documentation.

Re: D hash table comparison benchmark

2018-06-26 Thread Eugene Wissner via Digitalmars-d
On Tuesday, 26 June 2018 at 04:17:44 UTC, Nathan S. wrote: On Tuesday, 26 June 2018 at 03:45:27 UTC, Seb wrote: Did you by chance also benchmark it with other languages like C++, Go or Rust? I didn't since I was evaluating hashtable implementations for use in a D application. BTW I'm not su

Re: `update` and `require` properties for AA

2018-06-26 Thread Vasniktel via Digitalmars-d
On Tuesday, 26 June 2018 at 07:25:09 UTC, Mike Franklin wrote: I think the documentation gets published prematurely. The new methods for the associative arrays should come in the next release, scheduled for July 1st. https://dlang.org/changelog/pending.html#require_update Mike Wow, than

Re: `update` and `require` properties for AA

2018-06-26 Thread Mike Franklin via Digitalmars-d
On Tuesday, 26 June 2018 at 07:05:44 UTC, Vasniktel wrote: Hello everyone. I am wondering about `update` and `require` properties of AAs which are mentioned to be present here: https://dlang.org/spec/hash-map.html#properties However, this code doesn't compile: ``` import std.stdio; void main()

`update` and `require` properties for AA

2018-06-26 Thread Vasniktel via Digitalmars-d
Hello everyone. I am wondering about `update` and `require` properties of AAs which are mentioned to be present here: https://dlang.org/spec/hash-map.html#properties However, this code doesn't compile: ``` import std.stdio; void main() { class C{} int[C] aa; auto a = aa.req