couchdb performace 10x: using NIF for file io

Joel Reymont <>
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

to the new graph

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:


More information about the erlang-questions mailing list