On Jan 5, 2009, at 1:19 AM, Chris Anderson wrote:
On Sun, Jan 4, 2009 at 9:20 PM, Lawrence Pit
<[email protected]> wrote:
So for example the test recreate_doc, which hasn't changed for
months, takes
345ms using v0.8 and 4406ms using v0.9. That's more than 10 times
slower.
Same machine, same erlang host.
Quite clearly longer times on the newer version.
A lot has happened since 0.8. I think we were still on inets then, and
it was before the config module appeared, as well as the move to JSON
binaries as strings, and some filesystem work. We have not done much
optimization in the same period, although work is beginning.
There is a new C implementation of the JSON parser on the horizon that
looks a few times faster, and we've begun to identify some portions of
the code with low hanging fruit.
I'm not too worried about a performance change over the last few
months, as we've been concentrating on other things. It's worth noting
that test suite performance overstates the costs of database creation
and other setup tasks.
Well, what he reported for the simple insert test is startling, isn't
it?
From 200/sec -> 8/sec between the two versions?
It will be interesting to see if there's a similar slowdown on linux.
I'm guessing he's on OS X since it's hit the magic number of 8 ("...
not 9, nor 7, unless of course thou shalt proceed...").
To me, this is a "broken window" that needs to be looked at. I'd
help, but I don't know the first thing about Erlang :) Who did the
filesystem work?
I do think, that going forward, it would be very cool to have a
performance benchmark suite, that was integrated perhaps with Hudson
or some other Apache tools. Being able to see our changes effect on
performance as we go along will certainly push us in the right
direction.
Indeed - I'm actually surprised there isn't something like that already.
It would be pretty easy to setup. Maybe I'll go poke around on hudson
a bit and see what I can do.
geir