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

ben-manes / caffeine / #4743 / 1
100%
master: 100%

Build:
DEFAULT BRANCH: master
Ran 16 Feb 2025 04:50AM UTC
Files 78
Run time 2s
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

16 Feb 2025 03:59AM UTC coverage: 99.07% (+0.01%) from 99.057%
#4743.1

push

github

ben-manes
modernize the simulator to use jdk21 (unrelated to the core library)

As dependencies are moving on from jdk11, it makes sense for the
analysis tools to upgrade as well. This was already executing as 21
to support those dependencies and now simply requires it at the
language level. The user-facing library and jmh benchmarks remain jdk11
compatible.

A profile of the execution showed excessive garbage, which is now
reduced to improve runtimes.
- A direct mapped cache of boxed Long keys are used to reduce the
allocations by caching libraries. The research policies use primitive
based data structures, but user-facing libraries are not as fortunate.
- Using cache listeners to track eviction counts can require the
libraries allocate, e.g. copy the entry. This is safe enough to trust
their stats because its usually the hit rate that is accidentally
miscalculated and we verify that matches. The eviction count is easily
derrived (miss count - size) so just a sanity check.
* This particular sped up Ehcache from an 18m run to 17m, because if
any event type is registered against then it emits and does work for
the unregistered event types too. This may seem like low-hanging fruit
for them to fix, but every other cache runs in seconds (7s for
Caffeine) so it is already unusable. Their response was that Ehcache v3
is not intended to be used in scenarios where LRU eviction might occur,
only as a safety net, so any eviction is considered user error.

Some nice simplifications due to language improvements:
- Replaced AutoValue with Records
- More concise instanceof casting
- More concise switch expressions

7672 of 7744 relevant lines covered (99.07%)

0.99 hits per line

Source Files on job #4743.1
  • Tree
  • List 78
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 4743
  • 868924a6 on github
  • Prev Job for on master (##4739.1)
  • Next Job for on master (##4748.1)
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