Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?

[es] :: 3D programiranje :: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?

Strane: 1 2

[ Pregleda: 14333 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bkaradzic
Branimir Karadžić
ArenaNet
Seattle, WA

Član broj: 14953
Poruke: 1630
*.customer.broadstripe.net.

Sajt: https://github.com/bkarad..


+11 Profil

icon Re: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?22.08.2011. u 03:35 - pre 108 meseci
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.

 
Odgovor na temu

[es] :: 3D programiranje :: Koliko puta je brzi 3D engine napravljen u asembleru od onog napravljenog u C++-u?

Strane: 1 2

[ Pregleda: 14333 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.