-
Notifications
You must be signed in to change notification settings - Fork 113
/
NOTES
56 lines (42 loc) · 1.66 KB
/
NOTES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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