This is a repost of a blog post of 2008. Just for the reference :-)
This class allows sub-classes to commit changes to an instance to a history, and rollback to previous states.
When compiling systemd on rawhide, we noticed a significant slowdown in compile time. Investigating further, it turns out, that libtool forks an incredible amount of sed. Running perf showed 30% of the "make all" was spent in bash. strace showed an execve of sed with the same arguments 180,000 times!!!!!
Lately Kay Sievers and David Herrmann created a UEFI loader stub, which starts a linux kernel with an initrd and a kernel command line, which are COFF sections of the executable. This enables us to create single UEFI executable with a standard distribution kernel, a custom initrd and our own kernel command line attached.
If you want to bootstrap a distribution or want to rebuild it from the sources (SRPMS) to get the same binaries (think CentOS), you have to build the build tools and rebuild them with the built build tools, which have to be built with other build tools…
My goal for a self-hosting Fedora Base is to reduce the number of packages to do such a rebuild.
$ getconf _NPROCESSORS_ONLN
returns the number of CPUs online.