A Benchmarking Story: Go, Elixir, and a 3500x speedup

Опубликовано: 29 Июль 2023
на канале: tutoriaLinux
5,091
160

Buckle up, we hit a lot of practical topics in this one. This is the story of how I implemented a small solution in Go and Elixir and how that led me down a benchmarking rabbithole. Topics covered: Go, Elixir, Benchmarking in both languages, some basic datastructures and algorithms troubleshooting, and using benchmarks as a kind of flashlight so I can see what effect my changes are having on performance.

0:00 The problem
3:11 Go code explanation
8:17 Elixir code explanation (maybe this can be a separate video?)
13:05 Go Benchmark
14:43 Go Benchmarking Code Walkthrough
15:57 Elixir Benchmark 1
17:05 Elixir Benchmarking Code Walkthrough
18:19 Elixir vs. Go Speed, unoptimized
19:10 WTF is going on
22:00 Solution - Elixir Dynamic Arrays
24:56 Elixir vs. Go, round 2
26:18 What I learned
29:00 a crazy idea

I know the font is too small, sorry about that. Next one will have a giant font that my grandmother could read.

The repo is here: https://github.com/groovemonkey/go-el...