К этому можно только добавить, что между п. 1 и п. 2 необходимо проверить аппаратную компоновку комплектующих (модули памяти в двухканальном режиме, сата шлейфы в максимально скоростных разъемах, иде разведенное по разным шлейфам, где 80-пиновый под хард и т.д. и т.п.) и аппаратную настройку на уровне биоса (включенный режим ahci, отключенная неиспользуемая периферия - параллельный, ком порты и т.д. и т.п.) и только после этого приступать к программной части.
Да, это слишком сильно привязано к языку, поэтому не подойдет тем, кто уверенно знает только один ЯП и ему не придется напрягаться, чтобы совмещать понимание паттернов с трансляцией на php.