couchdb performace 10x: using NIF for file io
Joel Reymont
joelr1@REDACTED
Sun Oct 24 15:56:34 CEST 2010
Simply switching to NIFs for file IO seems to have improved CouchDB write performance more than ten-fold.
Compare the old graph
http://graphs.mikeal.couchone.com/#/graph/62b286fbb7aa55a4b0c4cc913c00f5a4
to the new graph
http://graphs.mikeal.couchone.com/#/graph/62b286fbb7aa55a4b0c4cc913c00f4d7
I was under the impression that the Erlang IO subsystem was highly optimized but there seems to be no limit to perfection.
NIFs are a giant black hole that will subsume Erlang code as performance has to be improved. Start at the lowest level and keep moving up. All that will be left of Erlang in the end is 99.99999% uptime, fault tolerance and supervision... of optimized C code. It's swell and I'm all for it!
Patch is here:
http://github.com/wagerlabs/couchdb/commit/23527eb8165f81e63d47b230f3297d3072c88d83
---
http://twitter.com/wagerlabs
More information about the erlang-questions
mailing list