Skip to main content

Wat is programma -optimalisatie?

Programma -optimalisatie is het proces van het wijzigen van een computerprogramma op een manier waardoor het programma sneller wordt uitgevoerd, minder bronnen verbruikt of over het algemeen werkt met een hoger niveau van efficiëntie.De taak van optimalisatie kan automatisch worden uitgevoerd door sommige programmeertaalcompilers, opzettelijk door een optimalisatieprogramma te gebruiken, of handmatig door programmeurs die door de broncode stappen en proberen specifieke verbeteringen aan te brengen.Over het algemeen wordt programma -optimalisatie uitgevoerd met een specifiek doel in gedachten, omdat er zeer weinig algemene optimalisaties zijn die kunnen worden gemaakt naar een programma dat op een of andere manier de geoptimaliseerde status van een ander deel van het programma vermindert, wat betekent dat een programma meestal kanWees geoptimaliseerd voor snelheid of resource -gebruik, maar meestal niet beide.Een complicatie die kan optreden bij sommige soorten optimalisatie is dat veel programmeertalen op hoog niveau zo'n groot niveau van abstractie bieden tussen native code en de computertaal dat optimalisatie moeilijk of onmogelijk kan zijn om op alle platforms in alle situaties te implementeren, vooral metgeïnterpreteerde talen die Just-In-Time (JIT) compilatie gebruiken.

Een belangrijk concept in programma-optimalisatie is het idee dat een optimalisatie meestal een soort prijs heeft.Een voorbeeld hiervan is dat, wanneer een stuk code wordt geoptimaliseerd om sneller te werken, de toename van de snelheid kan komen voor de prijs van code -leesbaarheid, geheugengebruik, programmaflexibiliteit of een aantal andere kosten.Dit betekent dat programma -optimalisatie een gericht proces moet zijn, met de bedoeling om één aspect van een programma op een betere manier te laten werken terwijl ze bereid zijn de efficiëntie van andere aspecten op te offeren.

Verschillende soorten programma -optimalisatie kunnen in verschillende stadia worden uitgevoerd vanprogramma ontwikkeling.Tijdens het ontwerp kan brede optimalisatie worden gedaan door ervoor te zorgen dat een programma effectief lijkt te worden uitgevoerd.Bij het werken met de werkelijke broncode kunnen optimalisaties omvatten om ervoor te zorgen dat er geen externe opdrachten, repetitieve oproepen of slecht geschreven functies zijn.Bij compilatie worden veel optimalisaties automatisch uitgevoerd door de compiler en kunnen ze worden geleid door het gebruik van verschillende compiler -schakelaars of richtlijnen door de programmeur.

Automatische optimalisaties, zoals kan optreden bij een compiler- of toewijdingsoptimalisatieprogramma, kunnen vaak trucs met zich meebrengen die zijnTe complex om praktisch te zijn voor menselijke programmeurs.Dit kan het verplaatsen van instructies in een programma omvatten, zodat ze worden uitgevoerd vanuit de order die oorspronkelijk is geschreven, maar op een efficiëntere manier voor de processor.Het kan ook opzettelijk verschuivende bronnen zoals geheugenblokken omvatten, zodat ze sneller toegankelijk zijn.De meeste programma -optimalisatie vindt automatisch plaats op compiler niveau.

Eén complicatie met herhaalde of agressieve programma -optimalisatie is dat, zodra een programma is aangepast om efficiënter te werken, het over het algemeen moeilijker wordt aan te passen voor andere doeleinden, zoals het toevoegen van functionaliteit ofBugs repareren.Dit kan optreden wanneer optimalisaties beginnen met het vergrendelen van set -programmagedrag dat niet gemakkelijk kan worden gewijzigd of aangepast aan nieuwe code zonder dat alle optimalisaties ongedaan worden gemaakt.Een groter probleem is dat in veel gevallen een geoptimaliseerd programma minder door mensen leesbaar wordt, omdat trucs en snelkoppelingen worden gebruikt in plaats van alleen beknopte opdrachten en klassieke controlestructuren.Om deze redenen is er vaak een niveau van programma -optimalisatie waarop het acceptabel is om te stoppen, hoewel drastische codemodificaties een programma iets efficiënter kunnen laten werken.