• 25 odgovora
  • 7.605 pregleda
Re: Standard container benchmark 06.06.2003. u 02:58 · pre 284 meseci #21
Evo kako radi VC 7.1 (hvala Relji)

Code:

E:\bjarnebenchmark>BjarneVS2K3.exe
size    array   vector with pointers    vector with iterators   deque   list
set     multiset
10      3.48    3.65    4.33    12.33   23.91   6.23    12.32
100     1.88    1.89    2.19    7.41    7.40    3.73    6.81
1000    1.65    1.67    1.89    6.28    5.26    2.86    5.74
10000   1.50    1.51    1.69    6.42    6.83    4.15    8.66
100000  1.78    1.77    1.95    6.83    8.26    6.45    9.80
1000000 1.89    1.88    2.03    6.92    8.80    8.01    11.87


A što se tiče komentarisanja, prihvatam, samo ne mogu baš sada. Javiću se sutra.
Potpis
IOCC
Re: Standard container benchmark 09.06.2003. u 21:07 · pre 284 meseci #23
... a meni je crk'o kućni kompjuter, pa moram da se javim sa posla. Čim uhvatim vremena, poslaću komentar.
Potpis
IOCC
Re: Standard container benchmark 10.06.2003. u 16:49 · pre 284 meseci #24
U USA firme jos uvek koriste Windows? - Ja sam mislio da su sve vec presle na Linux ;)
Potpis
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
Re: Standard container benchmark 10.06.2003. u 19:00 · pre 284 meseci #26
Elem, da budemo malo ozbiljni.

Cilj testa je da se uporede performanse standardnih kontejnera. Za 7 različitih vrsta kontejnera (C niz, vector sa pointerom kao iteratorom, vector sa "default" iteratorom, deque, list, set i multiset) izvršeno je uklanjanje duplikata iz zadate sekvence double brojeva. Način na koji je to urađeno naravno zavisi od kontejnera: tako je za set dovoljno da se inicijalizuje i on je automatski eliminisao duplikate - vector mora da se sortira pa da se pozove funkcija unique.

Razni kontejneri predstavljaju kolone matrice. Redove predstavljaju različite veličine sekvence.

Rezultati nam govore sledeće: nizovi (C nizovi i obe vrste vector-a) su se najbolje pokazali, dok je multiset imao najslabije rezultate. Kompajler sa idealnom optimizacijom STL-a bi morao da za C-nizove i obe vrste vektora proizvede identičan mašinski kod, ali ako je suditi prema rezultatima jedino možda Comeau 4.3 ispunjava ovaj zadatak.

Naravoučenije: ako nam je potrebno da radimo sa nekom sortiranom strukturom podataka, često ćemo dobiti bolje performanse ako koristimo sortirani vector, nego recimo set (koji je implementiran preko stabla i samim tim uvek sortiran). Priznajem da je ovo za mene otkrovenje, jer sam do sad po inerciji uvek koristio set u takvim situacijama.
Potpis
IOCC
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme