Cherly (sher-lee) is an in-VM caching library for Erlang.
C Erlang Makefile
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 100 commits ahead of moonpolysoft:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
c_src
include
src
test
.gitignore
.travis.yml
LICENSE
Makefile
README.markdown
rebar
rebar.config
rebar.config.develop

README.markdown

Cherly

Cherly (sher-lee) was originally developed by Cliff Moon for erlang to deal with in memory caching based on LRU. Its functionality and performance were awesome, but as time goes on, its implementation gradually obsoletes and it's hard to maintain. To overcome these problems, I forked and made Cherly improve with original purposes. Main improvements are described below.

  • Replaced the hash storing structure (originally used Judy hash) with the combination of Open addressing and Tree structure based on golang's hash implementation. This structure is very scalable and stable.

  • Implemented slab allocator on off-heap.

  • Replaced implemantations of port driver with NIFs.

  • Rebarized

Dependencies

  • Runtime
  • Erlang >= R14B
  • Check for C Unit tests

Installation

  • Install Check from package systems

    • deb

      sudo apt-get install check

    • rpm

      sudo yum install check

  • "Cherly" uses the "rebar" build system. Makefile so that simply running "make" at the top level should work.

  • "Cherly" requires Erlang R14B or later.