Solved Performance binary vs source

I installed FreeBSD 12.1 on a Lenovo T61 and I'm very pleased. Went from a paper weight to a totally usable device.

To save time I built up system with binaries, but now I'm wondering how much better performance I might get building from source. I have to balance against the nasty compile times though. Xorg, Nextcloud, Libreoffice et al. But a T61 is so feeble every little bit helps too.

Any opinions are appreciated.
 
Congratulations on a T61; I still have one at home, and they are (together with the T20) probably the best non-Apple laptop ever made.

Your T61 has a pretty generic 64-bit Intel chip. It has MMX and many of the SSE/SSE2... in the instruction set, but few programs actually make use of that. If you do video transcoding, audio processing it might make a small difference. The binary packages are compiled for high performance, and I know a few programs probe for the presence of optional parts of the instruction set and use them. I would bet that the performance difference is very very small, probably a few percent.

If you really want to compile for it, you might want to set up a big machine and cross-compile the ports on it. I hear that with poudriere cross-compiling is "relatively easy", but I've never done it myself.
 
I use my own build server to build a package repository for all machines in the house with poudriere. But I only do this because I use quite some custom port options to include/exclude features. Getting better performance by building with CPU-specific compiler flags is mostly a myth, at least on X86(_64). Only very specialized software could ever gain performance that is at least measurable.

In short: if you're happy with the default port options, use the packages from the official repo.
 
By x86_64, for memory footprint you'll have like 1~20% of better memory footprint, for CPU will depends a lot of the scenario, usually you will not notice. Some applications can benefit of those optimizations, but you can just compile then alone.
 
Back
Top