Optimizarea codului programului

Optimizarea codului de program se numește schimbarea codului corect, care vizează creșterea eficienței acestuia. "Optimizarea" implică efectuarea de mici modificări care afectează o clasă, o metodă și, cel mai adesea, câteva linii de cod. Schimbările de proiect pe scară largă sau alte modalități de îmbunătățire a performanței prin optimizare nu sunt luate în considerare. Aceasta nu este cea mai eficientă modalitate de a îmbunătăți performanța. Îmbunătățirea arhitecturii programului, reproiectarea claselor și alegerea unui algoritm mai eficient - conduc la rezultate mai impresionante. În plus, optimizarea codului nu este cea mai ușoară modalitate de îmbunătățire a performanței: este mai ușor să achiziționați un hardware nou sau un compilator cu un modul îmbunătățit de optimizare. În cele din urmă, aceasta nu este cea mai ieftină modalitate de îmbunătățire a performanței: optimizarea manuală a codului durează inițial o mulțime de timp, iar codul optimizat este mai greu de întreținut.







1). Extindeți structura datelor adăugând informații suplimentare sau schimbând prezentarea datelor în această structură. 2). Calcularea rezultatelor în avans și stocarea acestora, pentru utilizare ulterioară. 3). Aplicarea ambalajelor de date. 4). Bucla interioară trebuie să conțină un număr minim posibil de verificări, iar cel mai bun este doar unul. 5). Eliminarea salturilor necondiționate. 6). Verificările logice ar trebui aranjate astfel încât condițiile mai rapide, care sunt adesea corecte, să se confrunte cu condiții mai lente, care sunt mai puțin probabil să fie corecte. O funcție logică pe un set mic de valori inițiale poate fi înlocuită de o tabelă reprezentând acest set. Ștergeți aceleași expresii. 9). Dacă două sau mai multe expresii identice sunt deseori evaluate într-un rând, acestea trebuie plasate într-o subrutină. 10). Schimbarea tipurilor de date poate fi o modalitate eficientă de reducere a codului și de îmbunătățire a performanței acestuia. 11). Rescrierea codului într-un limbaj de nivel scăzut. La o viteză redusă, codul trebuie rescris într-un limbaj de nivel scăzut. Dacă scrieți în C ++, limbajul de nivel scăzut poate fi Assembler. Rescrierea codului într-un limbaj de nivel scăzut are de obicei un efect pozitiv asupra performanței codului.







Metodele de optimizare a codului pot fi aplicate la nivele diferite de construcții sintactice: 1). la nivelul operatorului - cei mai mulți compilatori efectuează o anumită optimizare la acest nivel. 2). block-level - optimizarea programului compilator alocă structura de operare prin construirea orientate grafic program de streaming, fiecare nod din pisica este unitatea principală, iar comunicarea m / nodurile y reprezintă fluxuri de control. Cele mai multe compilatoare efectuează optimizarea la nivel de bloc. 3). la nivelul ciclului. 4). la nivel de program - cel mai complex nivel de optimizare.

Cu cât este mai mare nivelul de optimizare, cu atât sunt mai mari posibilitățile de îmbunătățire a vitezei modulului de programare. Cu toate acestea, costurile de aplicare a unui grad mai mare de optimizare pot crește semnificativ timpul de compilare.

42. Proiectarea programelor: principalele puncte.

1) Descrierea implementării (limbaj, mediu de programare, testare, execuție așteptată):

· Dimensiunile în octeți, operații, linii;

· Dimensiunea memoriei necesare pentru date;

· Resurse tehnice necesare.

2) Accesul la subrutină (numărul, tipul și ordinea transmiterii parametrilor de intrare): metoda de transmisie (prin referință sau valoare).

3) Descrierea parametrilor returnați:

Un parametru pe care funcția revine;

· O descriere a parametrilor de intrare pe care funcția le modifică.

4) Descrierea situațiilor excepționale și reacția programului față de acestea.

5) Descrierea mesajelor de program, dacă există.

6) Scurtă descriere a algoritmului:

· Dacă are un nume, specificați-l;

· Denumiți sursa sau locul în care se află textul programului, de unde a fost preluat algoritmul;

· Puteți da o diagramă.

8) Descrieți toate fișierele de intrare și ieșire și conținutul lor scurt.

9) Aduceți structura înregistrării tuturor fișierelor:

· Defalcarea pe câmpuri record;

· Pentru fiecare câmp, specificați tipul, lungimea offsetului de la începutul înregistrării.







Articole similare

Trimiteți-le prietenilor: