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. -Damien
