Skip to content
0:00 / 0:00

#clojure#jvm#garbage-collection

Performance and Lies - Tom Crayford

ClojureTV

111K subscribers • 159 videos on Hallway

YouTube
  • Recommended by 4 people: 4 in engineering communities.
  • A classic. People kept recommending it from 2015 to 2023.
  • Presented by Tom Crayford, creator of Yeller

Advanced. Deep dive for people who know the field.

6.8K views11 years ago4 recommendations

Systems programmingProgramming languagesPerformance and optimizationLisp and ClojureConcurrency and parallelism

Tom Crayford shares performance tuning war stories from a production Clojure application, exploring JVM internals and garbage collection.

A deep understanding of Clojure, how it executes, and the runtime it sits on is a whole lot of work to acquire. But there's a shortcut. Doing performance work forces you to peel apart the layers of abstraction your software sits on, and understand what really goes on. This is an exploration of war stories from performance tuning a production Clojure application, with an eye towards surprising lessons about Clojure and the runtime it executes on: the JVM.

Why it's here

4 people recommend this

What people say. Recommended as a great talk on JVM performance tuning, garbage collection, and profiling production Clojure applications.

Moments people linked to

u/compmstrin r/Clojure • Recommends

Performance and Lies - Tom Crayford

u/jackdbdin r/Clojure • Recommends

On “Suggested resources for learning the JVM well?”

Here are a couple of things I found useful: 1. quick 2 min video: [video 2. Performance and Lies, by Tom Crayford. This talk describes the most common JVM options 3. memory management in the JVM and overview of the various garbage collectors you can use: https://deepu.tech/memory-management-in-jvm/ 4. this comparison of various JDK: Amazon Corretto, Eclipse Temurin, GraalVM (which is not just a JDK but an ecosystem of software components for various programming languages/runtimes)
13View on Reddit

u/sbensuin r/Clojure • Recommends

On “Clojure in production?”

There was one "Clojure in Production" talk during Euroclojure: link to this video and one that measures performance in a real application (Yeller): link to this video

u/joinrin r/Clojure • Recommends

On “What have you watched this month/week in clojure?”

performance / benchmarking / optimization talks (older but still relevant): link to this video link to this video clojure.tools.analyzer compiler tech (I'm interested in using this for some optimizing compiler passes that I've been doing in a limited fashion with macros). I don't think we leverage this as nearly as well as we could (we should have something like MAGIC for the jvm backend). If I was smarter I'd explore using core.typed's analyzer (or even something spec-based). link to this video
3View on Reddit