# HG changeset patch # User shade # Date 1494580303 -7200 # Node ID b653734241e897b824cdfd47f79fa54937055244 # Parent 30a5ac8fea97cddd07378b1c0aa8dec280c660a5 Add very basic README. diff -r 30a5ac8fea97 -r b653734241e8 README.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.md Fri May 12 11:11:43 2017 +0200 @@ -0,0 +1,26 @@ +Garbage Collection Benchmarks +------------------------------------------------------------------------------------ + +This project collects the interesting workloads for Garbage Collection performance +measurement. The workloads are exercising the specific modes where GC may find +themselves. Note that most workloads here are inherently synthetic, and they showcase +the GC performance in several modes, not necessarily present in all applications +and all workloads. + +The suite is organized as to stress these behaviors: + + A. The dependency of object lifecycle on GC performance. Different applications + exhibit different object lifetimes. At one extreme, there are heavily generational + workloads where the most objects die young. At another extreme, there are + workloads where almost no young objects die, and instead the oldest objects + continuously die (think LRU caches). + + B. Allocation pressure. There are several distinct modes for GC to operate in: + 1. No allocation. In this case, the workloads measure the runtime overheads + of mutator-GC interface. + 2. Extreme allocation. The adversarial workloads that do not do any work, + but only allocate objects. This measures how GC is able to recover under + significant pressure. + 3. Normal allocation (where "normal" is defined as a few points in-between + no and extreme allocation) +