https://issues.dlang.org/show_bug.cgi?id=13410
--- Comment #11 from Ketmar Dark <ket...@ketmar.no-ip.org> --- (In reply to bearophile_hugs from comment #9) > Right. (But using an unordered_map in the C++ code from the newsgroup the > C++ code only gets a little more than twice slower, that seems about twice > faster than the patched D code. I don't know the source of such performance > difference.) we can make D code alot faster if we'll add one pointer to each AA Entry, for example. but i think that this is just a wasted memory. i have some other ideas, but they requires either additional memory or more support code in add/remove functions (thus making adding and removing elements slower in general). but i'm still thinking. maybe i'll do some more patches soon. or someone who already knows the solution but don't bother to write it 'cause he never sees use cases for that. ;-) i'm still thinking about adding `aa.frontKey` and `aa.frontValue`, 'cause i don't like the fact that using AA in foreach() turns on caching. but i believe that adding new methods will zero merging chances. "we already have too many methods and runtime hooks, there is no sense in adding two more, blah-blah-blah". --