• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ben-manes / caffeine / 2604 / 2
100%
master: 100%

Build:
DEFAULT BRANCH: master
Ran 04 Aug 2020 07:24AM UTC
Files 76
Run time 20s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

04 Aug 2020 06:08AM UTC coverage: 93.091% (+0.05%) from 93.045%
TERM=dumb ORG_GRADLE_PROJECT_checksumFailOn=build_finish ORG_GRADLE_PROJECT_checksumPrint=true ORG_GRADLE_PROJECT_checksumIgnore=false GROUP=tests

push

travis-ci

ben-manes
Add the Linux page cache (Double Clock) to the simulator

The page cache is used by an operating system to decide what is
data is in-memory or swapped to disk. This includes application
memory and memory-mapped files. Its performance is critical to
the overall system.

Linux uses a LIRS inspired policy, but differs from it significantly.
It uses an SLRU structure (named active and inactive) and adds
non-resident entries (aka ghosts, shadows) to optimistically
promote on a miss if the ghost entry is present and abides by a
simple formula. This formula is a unique idea, where it determines
if the entry could have been in the active region had the miss not
occurred. That is a similar observation as ARC's, except its formula
is to adjust the region sizes whereas this one is for promotion. Linux
decides the region sizes upfront based on the system memory, at 50%
split baseline and a smaller inactive region for large memory systems.

This policy's hit rates don't mirror ARC or LIRS, though it has some
similarities due to using the same history concept. It sometimes does
better, often worse, and typically outperforms LRU. Due to the static
configuration it is not robust across workloads and we observe a
notable gap compared to W-TinyLFU.

The hit rates across various workloads is recorded in,
https://docs.google.com/spreadsheets/d/16wEq5QBzqOtownEtZvZeFn9i_iV0TPE8je4ADwlMNM8/edit?usp=sharing

6117 of 6571 relevant lines covered (93.09%)

0.93 hits per line

Source Files on job 2604.2 (TERM=dumb ORG_GRADLE_PROJECT_checksumFailOn=build_finish ORG_GRADLE_PROJECT_checksumPrint=true ORG_GRADLE_PROJECT_checksumIgnore=false GROUP=tests)
  • Tree
  • List 0
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 2475
  • Travis Job 2604.2
  • ba5e5f6e on github
  • Prev Job for TERM=dumb ORG_GRADLE_PROJECT_checksumFailOn=build_finish ORG_GRADLE_PROJECT_checksumPrint=true ORG_GRADLE_PROJECT_checksumIgnore=false GROUP=tests on master (#2603.2)
  • Next Job for TERM=dumb ORG_GRADLE_PROJECT_checksumFailOn=build_finish ORG_GRADLE_PROJECT_checksumPrint=true ORG_GRADLE_PROJECT_checksumIgnore=false GROUP=tests on master (#2605.2)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc