Uglavnom većina stvari koje ste spomenuli ovde su skroz nebitne za brzinu... Naime moderni procesori su toliko brzi da većinu vremena provode čekajući da se deo memorije iz RAM-a prebaci u cache ili iz višeg cache-a u niži. Tako da je ako se zaboravi na cache moguće napisati kod u asembleru koji ima manje instruckcija od C++ koda i ima mnogo lošije performanse. Problem sa C++ je da uglavnom programeri koji pišu u C++ nemaju pojma šta je cache i kako uopšte memorija iz RAM-a stiže do CPU-a. pa samim tim i skloniji su da kreiraju sporiji kod. Recimo neko u asembler nikada neće koristiti shared_ptr, iako nepotrebno, sasvim normalno videti u C++ kodu. To su 2-3 cache miss-a po korišćenju. 1 za count++, 2 za raw pointer, i 3 ako je u toku pristupa toj memoriji shared_ptr izbačen iz cache-a kada se radi count--. Uglavnom u sadašnje vreme osim par izuzetaka niko ne piše kod za igre u asembleru. I kada se piše piše se za specijalne procesore gde to ima smisla, u manjem obimu za CPU.