Co je optimalizace programu?

Optimalizace programu je proces úpravy počítačového programu způsobem, který způsobuje, že program provádí rychleji, spotřebovává méně zdrojů nebo obecně funguje s vyšší úrovní účinnosti. Úkol optimalizace lze provádět automaticky některými kompilátory programovacího jazyka, úmyslně pomocí optimalizačního programu nebo ručně programátory, kteří procházejí zdrojovým kódem a pokusí se provést konkrétní vylepšení. Obecně se provádí optimalizace programu s ohledem na konkrétní konec, protože existuje jen velmi málo obecných optimalizací, které lze provést v programu, který nějakým způsobem nesnižuje optimalizovaný stav jiné části programu, což znamená, že program může být obvykle optimalizován pro rychlost nebo využití zdrojů, ale obvykle ne. Jednou komplikací, ke které může dojít u některých typů optimalizace, je to, že mnoho programovacích jazyků na vysoké úrovni poskytuje tak velkou úroveň abstrakce mezi nativním kódem a počítačovým jazykem, který může být optimalizaceobtížné nebo nemožné implementovat napříč všemi platformami ve všech situacích, zejména s interpretovanými jazyky, které používají kompilaci jit-in-time (JIT).

Důležitým konceptem optimalizace programu je myšlenka, že optimalizace obvykle přichází s nějakou cenou. Jedním z příkladů je, že když je kus kódu optimalizován tak, aby běžel rychleji, zvýšení rychlosti by mohlo dosáhnout ceny čitelnosti kódu, využití paměti, flexibility programu nebo řady dalších nákladů. To znamená, že optimalizace programu musí být cíleným procesem, s úmyslem, aby jeden aspekt programu fungoval lepším způsobem a zároveň byl ochoten obětovat efektivitu jiných aspektů.

Různé typy optimalizace programu lze provádět v různých fázích vývoje programu. Během návrhu lze širokou optimalizaci provést zajištěním, že se zdá, že program běží efektivně. Když pracujeteG se skutečným zdrojovým kódem může optimalizace zahrnovat zajištění žádných cizích příkazů, opakujících se hovorů nebo špatně psaných funkcí. Při kompilaci je kompilátor automaticky prováděno mnoho optimalizací a lze je řídit pomocí různých přepínačů nebo směrnic kompilátoru programátorem.

Automatické optimalizace, jak se může vyskytnout u programu kompilátoru nebo optimalizace odhodlání, mohou často zahrnovat triky, které jsou pro lidské programátory příliš složité, aby byly praktické. To může zahrnovat pohyblivé pokyny do programu, aby byly provedeny z řádku původně napsané, ale efektivnějším způsobem pro procesor. Může také zahrnovat úmyslné přesouvání zdrojů, jako jsou paměťové bloky, aby mohly být přistupovány rychleji. Většina optimalizace programu se vyskytuje automaticky na úrovni kompilátoru.

Jednou komplikací s opakovaným nebo agresivním optimalizací programu je, že jakmile je program upraven tak, aby běžel efektivněji, se obecně stane více DIFficult pro úpravu pro jiné účely, jako je přidání funkčnosti nebo opravy chyb. K tomu může dojít, když se optimalizace začnou zablokovat v prostředí SET Program, která se snadno změní nebo přizpůsobí novému kódu, aniž by vyžadovala, aby byla všechna optimalizace vrácena. Větším problémem je, že v mnoha případech se optimalizovaný program stává méně čitelným člověkem, protože namísto pouze stručných příkazů a klasických kontrolních struktur se používají triky a zkratky. Z těchto důvodů často existuje úroveň optimalizace programu, při které je přijatelné zastavit, i když drastické úpravy kódu by mohly zajistit, aby program fungoval mírně efektivněji.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?