Grafice de performanță

Graficele de performanță sunt indicatori ale calității implementării structurilor de date din Temelia
  • O funcție nu trebuie doar să fie corectă, ci trebuie să fie și rapidă
  • Temelia folosește pointeri la funcții și aceștia îngreunează execuția algoritmului
Scopul graficelor este evidențierea complexității unei funcții
  • Are funcția complexitatea O(n log(n))?
Implementările din STL sunt puțin mai rapide decât cele din Temelia
  • STL folosește pointeri la funcții inline
  • STL a fost optimizat, Temelia nu

Introducere

Graficele de performanță din Temelia sunt generate de execuții în consolă a testelor de performanță
  • Fișierele de ieșire au format de tip XML
Fișiere sunt citite de generatorul de grafice și se generează PNG-uri pe baza lor
  • Dintr-un fișier de tip XML, cu informații despre timpul de execuție al unei funcții pentru o anumită intrare, se generează un fișier Octave
  • Fișierul Octave este rulat și se generează imaginea pe baza lui

Exemplu

Inserția într-un arbore B cu coeficientul 16
  • Fișierul Octave generat
    size=[500.0 1000.0 2000.0 5000.0 10000.0 20000.0 30000.0 40000.0 70000.0 100000.0 200000.0 400000.0 600000.0 800000.0 1000000.0 ];
    time=[0.22 0.0 0.0 0.0 0.01 0.02 0.03 0.03 0.06 0.1 0.23 0.65 1.24 1.76 2.55 ];
    plot(size, time);
    print("temelia/b_tree/insert_16.png");
    
  • Imagine rezultată

Temelia

Grafice de performanță pentru structurile de date din Temelia

STL

Grafice de performanță pentru structurile de date din STL

Operația de scoatere din heap pe coada de priorități din STL

insert_16.png (3.373046875) Laurențiu Dascălu, 02/26/2010 09:37 am

pop.png (3.47265625) Laurențiu Dascălu, 02/26/2010 09:42 am

Disponibil și în: HTML TXT