The One Billion Row Challenge in Elixir: From 12 Minutes to 25 Seconds

Raj Rajhans


The talk presents a case study on optimizing Elixir code for demanding tasks. The challenge is to read a file containing one billion lines of weather data and generate a report with minimum, average, and maximum temperatures for each station.

Through this talk, the audience will learn how to benchmark and profile Elixir code, how to model problems in order to make the best use of concurrency in Elixir, and implement performance tuning strategies effectively. The talk unfolds as a story of performance transformation. Starting with code that initially took over 10 minutes to process the data, we’ll see how the runtime went down to just 25 seconds.

By the end of this talk, attendees will gain a deeper understanding of performance optimization in Elixir and leave equipped with practical tools and techniques to enhance their own applications.

Key Takeaways:

  1. Performance Benchmarking & Optimization Techniques:
    • Learn practical strategies and techniques for optimizing Elixir code for maximum performance.
  2. Avoiding Performance Pitfalls:
    • Recognize common performance traps in Elixir and understand how to avoid them.

Target Audience:

  • Elixir developers of all levels interested in performance optimization, and solving fun challenges in Elixir.

Elixir Performance Optimization, 1BRC in Elixir