kód optimalizálása -

A számítógépes optimalizálás a módosítás a rendszer folyamat hatékonyságának javítása. A rendszer lehet egyetlen számítógépes program. egy sor számítógépek vagy akár egy egész hálózaton, például az interneten keresztül.

Annak ellenére, hogy a „optimalizálás” ugyanazok gyökér, mint a „optimális” optimalizálási folyamat ritkán termel optimális rendszer, így mindig vannak engedmények (kompromisszumok).

Optimization kell tenni óvatosan. Tony Hoare mondta az első alkalom, és Donald Knuth később gyakran ismételt jól ismert mondás: „Korai optimalizálása - a minden rossznak gyökere.” Nagyon fontos, hogy hangzott kezdeni az algoritmus, és egy működő prototípust.

Egyes feladatok gyakran végzik hatékonyabban. Vegyük például a következő programot C nyelven. amely összefoglalja az összes egész számok 1-től N:

Ez a kód lehet (feltételezve, hogy nincs túlcsordulás) átírt segítségével egy matematikai képlet, az alábbiak szerint:

Az „optimalizálás” általában azt jelenti, hogy a rendszer megtartja ugyanazt a funkciót. Ugyanakkor jelentős teljesítményjavulást is megvalósítható megoldása sürgető problémák és a redundáns funkciók. Például, ha ésszerűen feltételezhető, hogy a program nem köteles a több mint (mondjuk) 100 input elem, lehetőség van arra, hogy egy statikus memória kiosztás helyett lassú dinamikus.

Kiosztás (kompromisszumok)

Optimalizálás főleg egyszeri vagy ismételt végrehajtási idő, memóriahasználat, lemezterület, sávszélesség, vagy valamilyen más forrás. Ehhez általában engedményeket - egy paraméter van optimalizálva a többiek rovására. Például, egyre nagyobb a gyorsítótár mérete javítja a futási teljesítményt, hanem növeli a memória-felhasználás. Egyéb gyakori engedményeket kódot tartalmazhat az átláthatóság és kifejező. Komplex speciális algoritmusok több erőfeszítést hibakeresés, és növeli a hibák valószínűségét.

különböző területeken

Operációkutatásból. Optimization - a probléma meghatározása a bemeneti függvény értékei, amelyekkel szemben a maximális vagy minimális értéket. Néha ezek az értékek korlátozásokat, így a probléma az úgynevezett korlátozott optimalizálás.

A programozás. Optimalizálás általában az, hogy a módosítás a kódot, és úgy fordítják le beállításait a architektúrát, a hatékonyabb gyártás.

Tipikus probléma annyi lehetőséget, hogy a programozók általában lehetővé teszi a használatát csak „elég jó” megoldás.

szűk

Optimalizálása szükséges, hogy megtalálják a szűk: egy kritikus része a kódot, amely a fő fogyasztó a szükséges forrásokat. A javulás mintegy 20% -a kód megváltoztatásával jár a 80% -át az eredmények (lásd. Szintén Pareto-elv).

Az építészeti tervezés a rendszer különösen erős hatással van a teljesítményre. A választás algoritmus hatékonyságát érinti, mint bármely más design elem. Bonyolultabb algoritmusok és adatszerkezetek is jól működik egy nagy elemszámú, míg az egyszerű algoritmus alkalmas kis mennyiségű adat - számlák inicializálása költségeinek egy bonyolultabb algoritmus felülmúlják az előnyöket annak használatát.

Minél több memóriát a program által használt, annál gyorsabban általában lenni szokott. Például a szűrőprogram bemenetet soronként, szűrők, és megjeleníti karaktersorozatot. Ezért használ tároló memóriát csak egy sort, de a teljesítménye általában nagyon gyenge. Teljesítmény jelentősen javítani lehet az olvasás és írás a fájlt, majd a szűrt eredmény, azonban ez a módszer több memóriát igényel. Caching az eredmény is hatásos, de több memóriát igényel, hogy kell használni.

  • optimalizálása Java
  • Optimalizálása C ++
  • absztrakt értelmezésére
  • A metrikus jóság
  • caching
  • KISS elv
  • irányítás átadása Count
  • lusta értékelés
  • Alacsony szintű Virtual Machine
  • memoization
  • környéken memória
  • Profiling (teljesítmény elemzés)
  • sorbanálláselméletben
  • szimulátor
  • hipotetikus teljesítménye
  • A legrosszabb esetben végrehajtási időt

irodalom

Lásd, amit a „kód optimalizálása” más szótárak:

fordítóprogram optimalizálás - ez az oldal javasolta, hogy egyesül a optimalizáló fordítót. Indoklását és a vitát a Wikipedia oldal: Tovább a Wikipedia ...

Homályosított kód - ködösítés (. Lat obfuscare homályos, homályos, összezavar és angol nem nyilvánvaló, zavaros, zavaros.), És a kód ködösítés, hogy a forráskód vagy futtatható kódot a formában megtartja a funkcionalitás, de ... ... Wikipedia

Holt-kód megszüntetése - Elméletileg fordítóprogramok, halott kód megszüntetése (. Angol halott kód megszüntetése, DCE) nevezzük optimalizálás, eltávolítja az elhalt kódot. Holt-kód (csak haszontalan kód) nevezik a kódot, amelynek végrehajtását nem befolyásolja a következtetést a programot, mind a ... ... Wikipedia

Eltávolítása elérhetetlen kód - a fordító elmélet eltávolítása elérhetetlen kód (. Angol elérhetetlen kód megszüntetése) optimalizálásnak hívják, amely eltávolítja elérhetetlen kód, azaz a kódot, amely tartalmazza a program, de valamilyen oknál fogva, soha nem végzett. [1] A ... ... Wikipedia

Közötti optimalizálás - (angol közötti optimalizálás, IPO.) Or polnoprogrammnaya optimalizáló fordítót optimalizálás, amely magában foglalja a több eljárások, gyakran található különböző modulokat. Ez az optimalizálás csak akkor alkalmazható, miután elemezte a ... ... Wikipedia

Kapcsolódó cikkek