airhacks.fm podcast with adam bien

How Caffeine Cache Happened


Listen Later

An airhacks.fm conversation with Ben Manes (@benmanes) about:
TRS 80, Tandy RadioShack 80 computer,
never push the red button,
playing Reader Rabbit on 287,
the fascination with hardware,
the experimentation with water cooling and thermopads,
learning C++ and Java at the University in Chicago,
starting with Java 1.4 at school,
building corporate travel systems with Java 5,
the six hour interview at Google with a binary search tree,
working on CRM tool at Google,
building an enterprise version of iGoogle in Java and GWT,
using Guice and GWT GIN to implement iGoogle.next,
using a perforce monorepo,
perforce was replaced by internal system called "paper",
using blaze and bezel build system,
bezel is more distributed, one build file per package,
starting at a logistics company with Java 15,
the jetty, JAX-RS, keycloak,RESTEasy, jooq and google's guice,
starting to write a cache in 2008,
using memcached and Java Message System (JMS) for synchronization,
Java 5 and the Concurrent Linked HashMap / LRU,
building Google Guava cache,
Concurrent HashMap was used by Apache Cassandra,
Google's MapMaker is predecessor to Guava Cache,
Caffeine work started in 2008,
EHCache was not concurrent back then,
Java 5 concurrent HashMap didn't scale well,
Java 5 regions in HashMap were too big,
there were too many entries per segment,
Java 8 uses small hash bins and scales better,
Caffeine builds on top of Java 8 ConcurrentHashMap,
LRU and every reads is a write,
cache policy can be lossy,
using dynamically growing data structures,
Caffeine uses Java Collections,
Caffeine looks like a HashMap,
Caffeine adapts automatically to the read-, write-, or mixed workload,
Caffeine's configuration is descriptive,
refresh policies, cache loader, expiration, asynchronous behavior, listeners,
soft- and weak references were supposed to be the solution to everything,
hit rates monitoring,
micrometer, dropwizard, prometheus monitoring adapters are available,
reasearch papers tend to lie,
working with cockroachDB committers,
Infinispan uses Caffeine,
the bias against pre-made stack

Ben Manes on twitter: @benmanes, Ben's GitHub account: github.com/ben-manes

...more
View all episodesView all episodes
Download on the App Store

airhacks.fm podcast with adam bienBy Adam Bien

  • 5
  • 5
  • 5
  • 5
  • 5

5

5 ratings


More shows like airhacks.fm podcast with adam bien

View all
Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

Software Engineering Radio - the podcast for professional software developers

266 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

285 Listeners

The Cloudcast by Massive Studios

The Cloudcast

153 Listeners

Thoughtworks Technology Podcast by Thoughtworks

Thoughtworks Technology Podcast

42 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

586 Listeners

Java Off-Heap by Freddy Guime

Java Off-Heap

10 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

628 Listeners

Python Bytes by Michael Kennedy and Brian Okken

Python Bytes

214 Listeners

Data Engineering Podcast by Tobias Macey

Data Engineering Podcast

141 Listeners

CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

CoRecursive: Coding Stories

185 Listeners

Kubernetes Podcast from Google by Abdel Sghiouar, Kaslin Fields

Kubernetes Podcast from Google

180 Listeners

A Bootiful Podcast by Josh Long

A Bootiful Podcast

28 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

63 Listeners

Oxide and Friends by Oxide Computer Company

Oxide and Friends

47 Listeners

Foojay.io, the Friends Of OpenJDK! by Foojay.io

Foojay.io, the Friends Of OpenJDK!

0 Listeners