ConcurrentLinkedHashMap ======================== ConcurrentLinkedHashMap is a concurrent, bounded map for use as an in-memory cache. It is the default caching library in Apache Cassandra and is the reference algorithm for Google Guava CacheBuilder (formally MapMaker). Prior to Building -------------------- The following libraries must be installed into the local repository. $ mvn install:install-file \ -Dfile=lib/cache-benchmark/benchmark-fwk.jar \ -DpomFile=lib/cache-benchmark/pom.xml Compiling -------------------- $ mvn clean compile Analysis -------------------- Static analysis and test coverage reports can be viewed by generating the site. $ mvn site Testing -------------------- The unit test and benchmark parameter options can be configured in src/test/resources/testng.yaml The default test suite is used for development. $ mvn test (or mvn -P development test) The load test suite is used to detect problems that only appear after a long execution, such as memory leaks. $ mvn -P load test A test or test method can be executed selectively, such as $ mvn -Dtest=ConcurrentMapTest#get_whenNotFound -Dcapacity=100 test Benchmarks -------------------- At this time, this library does not supply a canonical benchmark. It leverages existing benchmarking tools available externally. This benchmarks the single-threaded performance. $ mvn -P caliper test This benchmarks the multi-threaded performance with an expected bound. $ mvn -P cachebench test This benchmarks the multi-threaded performance without an expected bound. $ mvn -P perfHash test This benchmarks the eviction algorithm efficiencies based on a scrambled zipfian working set. $ mvn -P efficiency test