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

272 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

284 Listeners

Thoughtworks Technology Podcast by Thoughtworks

Thoughtworks Technology Podcast

40 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

621 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

269 Listeners

AWS Podcast by Amazon Web Services

AWS Podcast

201 Listeners

Duke's Corner by Jim Grisanzio

Duke's Corner

8 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

987 Listeners

CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

CoRecursive: Coding Stories

189 Listeners

A Bootiful Podcast by Josh Long

A Bootiful Podcast

29 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

62 Listeners

Mac & i - der Apple-Podcast by Mac & i

Mac & i - der Apple-Podcast

0 Listeners

Inside Java by Chad Arimura, David Delabassee

Inside Java

26 Listeners

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

Foojay.io, the Friends Of OpenJDK!

0 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

53 Listeners