I've tested with this quite a bit now and it's much faster, in some cases 4 times, but it is sensitive to both doc size and batch sizes so in some cases the speed may only be about 4-10% better. It's definitely much improved in the file footprint resulting in faster compaction also.

It's interesting to note that a good amount of the speed improvement comes from a reduced number of calls to couch_util:to_hex because it's only used for the prefix and not for every id as it is in the new_uuid() case. In one of the hovercraft tests I ran this method was cut from 36% to 25% of the run time. You can see this using eprof. This method is also used in the rev stuff so it's a good candidate to look at for optimization.

So I"m +1 on this, but I think the other devs ought to noodle it some to double check it conceptually, .ie. that we have global uniqueness and it won't present issues elsewhere. Definitely a nice hack.

Cheers,

Bob



On Aug 17, 2009, at 5:18 PM, Robert Newson wrote:

I was hoping for more feedback on COUCHDB-465 as the alternate uuid
generation algorithm there seems to double insertion speed and reduces
the  need to run compaction.

B.

https://issues.apache.org/jira/browse/COUCHDB-465

On Mon, Aug 17, 2009 at 10:10 PM, Noah Slater<[email protected]> wrote:
On Mon, Aug 17, 2009 at 01:58:56PM -0700, Chris Anderson wrote:
We've been sprinting extra hard for the last week to get a lot of new
power into CouchDB. I think we're close on Windows support, we just
got native view servers, we've added a bunch of robustness around
external process handling. There's a bunch more that's happened since
0.9 but the point of this thread is not to list the changes, but to
see if there are patches that people feel should go in now, so they
make the 0.10 release. Hopefully this is a short list, as I think most
of the last-minute patching has been done, but if something's
important and easy, we shouldn't forget it.

I don't want to be the damp squid[1] here, but for now, shipping with the recent changes for Windows, or at least claiming Windows support, will get my -0 or -1
vote depending on how convincing people's arguments get.

I wasn't even aware that this had properly landed yet, and it would certainly need to be simmered in trunk for a few months, with a wide call for testing,
before I would be happy shipping it.

[1] http://eggcorns.lascribe.net/english/416/squid/

Best,

--
Noah Slater, http://tumbolia.org/nslater


Reply via email to