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

ben-manes / caffeine / 1753 / 1
100%
master: 100%

Build:
DEFAULT BRANCH: master
Ran 09 May 2016 06:29AM UTC
Files 65
Run time 3s
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

09 May 2016 05:27AM UTC coverage: 94.464% (+0.3%) from 94.198%
TERM=dumb

push

travis-ci

ben-manes
A custom a Bloom filter for policies in the simulator

This implementation is intended to use in TinyLFU-based caches for the
doorkeeper and adaptive sizing. The primary value is that it uses the
same hash functions as the CountMin4. This will allow computing the
hashes once for use in multiple sketches.

The doorkeeper is a technique to reduce the size of the CountMinSketch
by preventing "one-hit-wonders" from needing to be be stored. This is
described in the paper and implemented in go-tinylfu. It was backlogged
in Caffeine and not simulated, but should be introduced at some point.

The adaptive W-TinyLFU uses the sketch to detect mispredictions. This
increases the hit rate by dynamically tuning towards recency or
frequency depending on the workload.

Amusing story. This is based on my old interview prep (code kata) [1]
that later led to Guava's version. When I joined the team kept arguing
that no efficient implementation was possible (believed a SecureRandom
was needed, with the hashCode as the seed?!?). For some reason Googlers
hate reading Wikipedia and research papers, and were surprised when I
showed them a working prototype (yes, a toy hack as I never thought
anyone would look at it). But alas I was then pushed out of discussions
due to being a Noogler and the result was slow due to poor GC (Hasher)
and modulus operations (rejected my power-of-two and no-GC requests).

[1] https://github.com/ben-manes/concurrentlinkedhashmap/blob/wiki/BloomFilter.md

5324 of 5636 relevant lines covered (94.46%)

0.94 hits per line

Source Files on job 1753.1 (TERM=dumb)
  • Tree
  • List 0
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 1753
  • Travis Job 1753.1
  • 4afa64a4 on github
  • Prev Job for TERM=dumb on master (#1752.1)
  • Next Job for TERM=dumb on master (#1754.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