couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Damien Katz <>
Subject NIFs and pre-R14B Erlang
Date Fri, 25 Mar 2011 04:01:36 GMT
After discovering the huge amounts of CPU we spend parsing and encoding
JSON, I've been working on getting big num support into Paul Davis's JSON
NIF parser so we can include it in CouchDB a get nice performance win. I'm
really loving the NIF interface and it's potential to give us performance
boosts in CouchDB's CPU intensive areas. With the NIF support, we are
going to see a much faster CouchDB.

However, the problem is they don't work pre R14B.

So to include NIF functions and get the gains, either we need to raise the
minimal Erlang version of trunk CouchDB for R14B, OR  have both a slow
erlang version of the NIF for older version, and fast NIF version for
newer versions and a way to load the different versions. Maybe the NIF
system has that stuff built in, or maybe we can do it somehow with the
build system.

Since this is trunk, we'll be raising the minimal version of something
like 1.2, not 1.0.3, for example. Anyway, wanted to get that out there and
see what people think about how to handle it.


View raw message