Informatică Programare
Cum se optimizeaza un program C++ pentru viteza?
Optimizarea unui program C++ pentru viteză implică reducerea timpului de execuție prin tehnici algoritmice și de cod. De exemplu, folosirea referințelor în loc de copieri poate accelera apelurile de funcții.
Optimizări algoritmice
- Alegerea algoritmului Folosește O(n log n) în loc de O(n²) pentru sortări sau căutări pe seturi mari.
- Memorie cache Parcurge matricele pe linii pentru a beneficia de localitatea datelor.
- Precalculare Calculează valorile frecvente o dată și stochează-le într-un vector.
Optimizări de cod
- Referințe Pasează obiecte mari prin referință const: void f(const vector<int>& v).
- Alocare memorie Folosește reserve() pentru vectori când știi dimensiunea maximă.
- Compilare Activează optimizările compilatorului cu -O2 sau -O3 în g++.
Măsoară timpul cu chrono înainte și după optimizări pentru a vedea îmbunătățirile.