You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Damien Katz (JIRA)" <ji...@apache.org> on 2011/04/16 06:02:06 UTC

[jira] [Commented] (COUCHDB-1124) Refactor couch_btree.erl

    [ https://issues.apache.org/jira/browse/COUCHDB-1124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13020554#comment-13020554 ] 

Damien Katz commented on COUCHDB-1124:
--------------------------------------

I have't looked closely at the patch, but with this module it's most important to not lose performance. One thing that jumps out at me is the cmp_keys function. I'd be sure to benchmark the the view indexing with large, complex keys, and the less comparisons will likely be happening more often and we've seen that be a performance bottleneck in the past.

> Refactor couch_btree.erl
> ------------------------
>
>                 Key: COUCHDB-1124
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1124
>             Project: CouchDB
>          Issue Type: Improvement
>            Reporter: Paul Joseph Davis
>         Attachments: 0001-Refactor-couch_btree.erl.patch
>
>
> I've completely refactored couch_btree.erl in an attempt to make it more palatable for people that want to learn it. The current version is quite organic in its nature and this cleans up the code to be more consumable. Most everyone that's seen this patch has wanted it in trunk but I never got around to committing it.
> The patch I'm about to attach is quite gnarly as it's basically deleting and recreating the entire file. I find it quite a bit more helpful to read the end result which you can do at [1].
> Also, if we do commit this then the code in COUCHDB-1084 will be quite broken for the btree section. If that patch still applies cleanly to the other files I'm going to try and update the btree code for it tonight.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira