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 Meten hoe snel de berekening volbracht is. Streven naar nauwkeurigheid…hoe?
Nauwkeurigheid? Gemiddelden berekenen Eigen timer Ahv kernel32.dll (#cycle end - #cycle start)/MHz cpu = tijdsduur Dus indien 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 Tijdsduur singlethreaded: 269ms, 100 loops. Tijdsduur multithreaded: 296ms, 100 loops.
Single threaded vs Multi threaded Run op 2 cores, 2.4GHz Specs boggleveld: 450 chars Tijdsduur singlethreaded: 183ms (blauw) Tijdsduur multithreaded: 134ms (oranje)
Single threaded vs Multi threaded Run op 8 cores, 2.8GHz Specs boggleveld: 450 chars Tijdsduur singlethreaded: 146.2ms (blauw) Tijdsduur multithreaded (4): 60.4 (oranje)
Speedup: Single vs multithreaded 1 core cores cores 2.42
Verdere tests Run met 4 threads, methodiek test Threadpool: 55.84ms Parallel Task Library: 60.66ms Eigen threading: ms
Verdere tests Events vs Locking Events: 286,9ms Locking 279,9ms Verschil is marginaal
Verdere tests First come first served principe, sommige threads krijgen dus weinig tot geen CPU tijd.