basho / leveldb

Clone of http://code.google.com/p/leveldb/
BSD 3-Clause "New" or "Revised" License
408 stars 182 forks source link

Dynamic decision to swap threads or not on Erlang Write operation #212

Closed matthewvon closed 7 years ago

matthewvon commented 7 years ago

eleveldb swaps each Erlang request from an Erlang scheduler thread to a local eleveldb worker thread. This is to prevent Erlang scheduler collapses. Write operations do not actually need to swap all the time. This branch creates the capability of dynamic selection to swap threads or not.

Detailed discussion is here:

https://github.com/basho/leveldb/wiki/mv-nonblocking-write2

matthewvon commented 7 years ago

branch mv-nonblocking-write3 rebuilt for merge.