Video summary

Jonathan Blow on today's software speed

Main summary

Key takeaways

Technology

Overview

The video discusses claims (from an FFmpeg-related podcast) that writing in assembly can yield 10–100× performance gains over C, alongside Jonathan Blow’s perspective on when such speedups are realistic.

Key technological points

Why assembly can be dramatically faster (extreme cases)

  • The discussion frames FFmpeg/video workloads as an ideal scenario for assembly because video data can be highly parallelized.
  • Video decoding is described as operating on blocks that can be decoded in parallel (assuming the codec is designed for it).
  • Pixels are treated as largely parallelizable as well.
  • The amount of attainable parallelism depends on codec/data layout design—often, the biggest wins come from changing how data is stored to unlock better performance.

SIMD and compilers

  • CPUs provide SIMD (vector) instructions well-suited to these parallel workloads.
  • Compilers attempt auto-vectorization, but the speaker claims modern state-of-the-art tooling often cannot match human-written assembly at this level of optimization.

Assembly vs general program logic

Jonathan Blow distinguishes:

  • Tight, highly parallel loops (where assembly can shine)
  • General application logic (where assembly-style gains are far less predictable)

Conclusion: assembly speedups like 10–100× are context-dependent, and you shouldn’t expect the same results in general-purpose code.

Broader software-performance argument

“Most software can get massively faster without assembly”

Blow argues many everyday programs could improve by 100×, or even 1,000–10,000×, largely through:

  • removing inefficient practices
  • shedding performance “baggage”
  • focusing on writing the straightforward logic actually needed

He attributes much of the slowdown to software culture, including the belief that:

  • “the compiler will make it fast”
  • architecture or OO structure automatically implies performance

Why FFmpeg might not scale as much further

Blow suggests FFmpeg likely cannot achieve the same dramatic additional multiplication, because it has long prioritized speed—“they’ve been concerned with how fast it is the whole time.”

Reviews / guides / tutorials

  • None mentioned directly; the content is primarily analysis and opinion about performance optimization practices.

Main sources / speakers

  • Jonathan Blow
  • “FFmpeg guys” (referenced as the podcast creators/engineers discussing assembly performance)

Rate this summary

Your feedback will help improve summaries.

Improve this summary

Reprocess with a stronger model when the summary feels incomplete or inaccurate.

Pro

Translate summary in another language

Pro

Ask questions to this video

Chat for follow-up questions, clarifications, and source-backed answers.

Coming soon

Share this summary

Original video