- measuring time
- writing benchmarks
- inspecting assembly
- basic profiling
- branch cost
- call cost
- dispatch call cost
- unintentional copy
- pointer cost
- memory cost
- bounds check cost
- unrolling
- loop alignment
- [heap vs stack allocation)(./heap_alloc)
- Intuitive Performance https://www.youtube.com/watch?v=51ZIFNqgCkA
- https://egonelbre.com/a-tale-of-bfs/
- https://egonelbre.com/a-tale-of-bfs-going-parallel/
- https://github.com/dgryski/go-perfbook
- https://en.algorithmica.org/hpc/
- https://www.dataorienteddesign.com/dodbook/
- https://www.computerenhance.com/
- Benchmark statistical analysis (https://golang.org/x/perf/cmd/benchstat)
- Assembly and Code viewer (https://github.com/loov/lensm)
- Visualizing bounds checks (https://github.com/loov/view-annotated-file)
- AMD μProf (https://www.amd.com/en/developer/uprof.html)
- Intel VTune Profiler (https://www.intel.com/content/www/us/en/developer/tools/oneapi/vtune-profiler.html)
- Apple Instruments (https://help.apple.com/instruments/mac/current/#)