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

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

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

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

Posted by "Damien Katz (JIRA)" <ji...@apache.org>.
    [ 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

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

Posted by "Paul Joseph Davis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/COUCHDB-1124?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Joseph Davis updated COUCHDB-1124:
---------------------------------------

    Attachment: 0001-Refactor-couch_btree.erl.patch

> 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