On Fri, 12 Mar 2010 07:46:50 -0500, Michael Rynn
<michaelr...@optusnet.com.au> wrote:
When there is such a drop in replacement, it will be easier for others
to try it out in existing code and uncover quirks and limitations. Then
there might be benefits.
Committed a struct AA wrapper and a modified PyDict class in
hash\pydict.d
as builtin AA behave-alike, to the DSource - aa project.
Actually the builtin is initially about 10% bit faster in uint[uint] than
the PyDict. Based on the first few runs that is, before progressive
slowdown of builtin takes affect. Perhaps some crafty optimization
could narrow the gap a bit.
There appears to be no significant performance effect of wrapping the
modified PyDict class as an implementation reference inside the struct.
Tried with dmd2 2.041, but the built-in AA crashed sometime during a what
looked like a rehash, probably triggered by a big resize. This happened
in both debug and release versions. This is strange, because a winmerge
comparison of the D-runtime source aaA.d, showed no significant
difference apart from the removal of a AA_equals function.
Back next week
Oops, sorry about that. The array allocation and appending went through a
major overhaul, and I introduced a nasty bug that causes this. Please
apply the fix identified here:
http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.announce&article_id=17841
Sorry again. I hope this can be fixed soon.
-Steve