Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Delphi - rýchlosť práce Integer/ShortInt pri Win32

Instrukcie (a konstanty v nich) sa nezarovnavaju. Zarovanavaju sa data aby bol optimalnejsi pristup k pamati (ak instrukcia ma jeden operand niekde v RAM).

Argumentovat tym ze procesor "precita 4byte" nie je namieste, tato tema je omnoho komplikovanejsia a zavisi od konkretneho CPU. Pekne citanie o optimalizacii je v Pentium developers manual, volume 3, kapitola 24 "Optimizations".
Co sa tyka toho mov, pozrel som si specifikaciu instrukcie MOV a obe (mov ah,0 aj mov eax,0) by mal pentium spracovat za jeden takt (takze ak pises "CPU precita 4byte" tak ako je mozne ze 2bytova a 5bytova instrukcia trva rovnako? :-)), ale ze je v specifikacii ze obe trvaju jeden takt neznamena, ze vzdy za kazdych okolnosti to trva uplne rovnako, ak tam staci byte pouzil by som byte, uz len preto ze to bude zrat menej RAM a kodu a teda menej spozdeni pri pripadnych nacitavaniach do cache atd.

k tomu P.S: ale ide, staci predtym ako clovek zacne pisat program trochu rozmyslat :-) Cas co venuje tejto diskusii (ktora ani nema velky zmysel ptz. ak bude medzi tym byte a integer rozdiel tak bude IMHO minimalny alebo ziaden) mohol venovat rozmyslaniu o ulozeni dat(mam na mysli celkovo, nielen ze ci integer alebo byte) a optimalnom algoritme. Tusim Quake alebo Doom alebo co to bolo bol dobry prave kvoli tomu, ze bol na svoju dobu (pomale grafiky a PC) perfektne optimalizovany, jeden z autorov bol tusim specialista na optimalizacie.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny