This is only for speed, Levelup provides some nice streaming abstractions that Leveled doesn't have.
Every benchmarked operation has to deal with 120000 entries, 29 chars each. Times were averaged from 3 runs.
The 2nd benchmark's output includes the factor of which leveled is faster/slower.
$ node levelup.js
put 3348 ms
batch 1955 ms
get 1846 ms
get ReadStream 5322 ms
get keyStream 5829 ms
$ node leveled.js
put 1121 ms (2.99x)
batch 230 ms (8.50x)
get 1446 ms (1.28x)
get find 309 ms (5.97x)
@dominictarr: batch is faster because it goes straight to C and builds the batch object there. With levelUP you first create that big array, then convert it to a batch object. find is faster because it again does everything in C and only hands out the finished array to javascript which might cause problems with big result sets, that streaming could solve. Don't know why put is faster, I think @rvagg made it even faster in levelUP already.
@rvagg: mhm, I evaluated buffers but even if you deal with them in C they're slower than strings. Does levelUP really need buffers? I know that it's more correct but strings work most of the time too.