I'm just learning a bit about lower-level languages and I've noticed that gcc you can specify -march and -mtune parameters to optimise the software for particular CPU families.
But I've also found people saying that building a program from source won't make it noticeably faster than downloading the binary. Surely being able to have the software optimised for the CPU in your system would provide a notable speed boost, especially in software like
ffmpeg which uses fairly microarchitecture-dependent features such as AVX?
What I'm wondering is, are the binaries on package managers somehow optimised for multiple microarchitectures? Does the package manager download binaries specific to my system's microarchitecture?