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)
Not handling arbitrary data types and restricting both keys and values to strings certainly helps, LevelUP does Buffer conversions in JS but that could be moved to C++ & also there's probably too many to-buffer conversions where in many cases using the plain string will do. Also in general LevelUP is doing a ton more safety & type checking than Leveled.
thanks for the benchmarks @juliangruber, it's a great start.