120 likes | 240 Views
Performance evaluation. Single vs multi-threaded boggle word searching. Yves Wouters & Pieter-Jan Huyghe. Boggle?. Wat is boggle Het algoritme : search tree & backtracking. Boggle?. Wat is boggle Het algoritme : search tree & backtracking. Performantie meten.
E N D
Performance evaluation Single vs multi-threaded boggle word searching Yves Wouters & Pieter-Jan Huyghe
Boggle? Wat is boggle Het algoritme: search tree & backtracking
Boggle? Wat is boggle Het algoritme: search tree & backtracking
Performantiemeten • Meten hoe snel de berekeningvolbracht is. • Strevennaarnauwkeurigheid…hoe?
Nauwkeurigheid? • Gemiddeldenberekenen • Eigen timer • Ahv kernel32.dll • (#cycle end - #cycle start)/MHz cpu = tijdsduur • Dusindien de CPU 1 GHz snel is, dan kun je meten tot op 1 nano sec nauwkeurig.
Single threaded vs Multi threaded • Run op 1 core, 2.2GHz • Specs boggleveld: 450 chars • Tijdsduursinglethreaded: 269ms, 100 loops. • Tijdsduur multithreaded: 296ms, 100 loops.
Single threaded vs Multi threaded • Run op 2 cores, 2.4GHz • Specs boggleveld: 450 chars • Tijdsduursinglethreaded: 183ms (blauw) • Tijdsduur multithreaded: 134ms (oranje)
Single threaded vs Multi threaded • Run op 8 cores, 2.8GHz • Specs boggleveld: 450 chars • Tijdsduursinglethreaded: 146.2ms (blauw) • Tijdsduur multithreaded (4): 60.4 (oranje)
Speedup: Single vs multithreaded • 1 core 0.90 • 2 cores 1.36 • 4 cores 2.42
Verdere tests • Run met 4 threads, methodiek test • Threadpool: 55.84ms • Parallel Task Library: 60.66ms • Eigen threading: 100.11ms
Verdere tests • Events vs Locking • Events: 286,9ms • Locking 279,9ms • Verschil is marginaal
Verdere tests First come first served principe, sommige threads krijgendus weinig tot geen CPU tijd.