You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Adam Kocoloski (JIRA)" <ji...@apache.org> on 2010/12/08 16:16:01 UTC

[jira] Commented: (COUCHDB-980) Micro optimization to couch_file

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

Adam Kocoloski commented on COUCHDB-980:
----------------------------------------

700µs is very significant.  In fact, I'm kinda shocked that it takes that long.  But given that it does, your results make sense.  The server is stuck at about 1500 reads / sec when the md5 is done in the couch_file.  What's 1 second / 1500?  ~700µs.

I'll double-check the md5 numbers on a couple of setups to make sure.  I wonder if we should be looking into faster hashing at this point ...

Anyway, great find Filipe.

> Micro optimization to couch_file
> --------------------------------
>
>                 Key: COUCHDB-980
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-980
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Database Core
>            Reporter: Filipe Manana
>            Assignee: Filipe Manana
>
> The following short patch moves the MD5 verification outside the couch_file server:
> https://github.com/fdmanana/couchdb/commit/51c463d682c478dcb273bd88f1ef3046a709689f
> Despite being apparently so insignificant (couch_util:md5/1 takes about 700us in my machine), I get this significant results with relaximation:
> $ node tests/compare_write_and_read.js --wclients 100 --rclients 200 \
>   -name1 md5_out -name2 trunk \
>   -url1 http://localhost:5984/ -url2 http://localhost:5985/ \
>   --duration 120
> run 1)  http://graphs.mikeal.couchone.com/#/graph/5c859b3e7d1b9bd0488cfe271105130c
> run 2)  http://graphs.mikeal.couchone.com/#/graph/5c859b3e7d1b9bd0488cfe2711051bba
> The documents used in the test have a size of about 1Kb.
> If nobody has an objection, I'll commit this to trunk.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.