basho/yokozuna — pull request #164 by rzezeski (2013-09-04 20:21:52+00:00)
Title: Use application env for component API

It turns out that mochiglobal is a really bad idea if you often read
keys that are undefined. This is because `mochiglobal:get` uses
try/catch to check for undefined and that becomes really expensive
when every call causes an `undef` error.

In the cases of Yokozuna, even when disabled, the KV vnode is making a
call to the `yz_kv:index` function which is doing a get for an
undefined key. On my development machine I saw an order of magnitude
drop from ~1600 ops/s to ~150 ops/s.

This patch uses application env instead which brings the write
throughput back up to speed.