Make Bitcask I/O mode configurable: Erlang vs NIF #76

Merged
merged 1 commit into from Feb 6, 2013
Commits on Feb 6, 2013
  1. Make Bitcask I/O mode configurable: Erlang vs NIF

    jtuple committed Feb 6, 2013
    The recent changes to revert Bitcask to using pure Erlang file I/O
    have lead to noticeable performance regressions in certain workloads.
    This change makes the file mode configurable, setting the default to
    the previous NIF-based approach. Users can switch to the Erlang-based
    I/O mode if they run into situations where the NIF-approach leads to
    scheduler collapse.
    
    The option is determined based on the Bitcask application variable
    'io_mode'. When missing or set to 'nif', the NIF-approach is used.
    When set to 'erlang', standard Erlang efile is used.