Powiedzmy, że mam powolne i szybkie wersje niektórych kodów i chcę zgłosić liczbę przyspieszeń porównującą oba. Uruchamiam wolną wersję razy i szybką wersję m razy, generując czasy ( s 1 , … , s n ) i ( f 1 , … , f m ) . Najprostszy sposób wytwarzania a przyspieszenie jest średnio środki: ˉ s Nie uwzględnia to jednak wartości odstających.
Pytanie : Jakiej statystyki najlepiej użyć do zgłaszania liczb przyspieszenia?
statistics
publications
Geoffrey Irving
źródło
źródło
Odpowiedzi:
Oprócz wszystkiego, co Bill Barth powiedział już powyżej, pozwól mi wspomnieć, że ludzie często zgłaszają najszybszy z kilku przebiegów. Uzasadnieniem jest fakt, że rzeczywisty czas działania to idealny czas działania plus dowolna liczba spowolnień wynikających z innych uruchomionych procesów, opóźnień systemu operacyjnego, opóźnień sieci itp. Ponieważ są to szumy, którymi nie jesteśmy zainteresowani, korzystanie z najszybszego czasu działania najbliżej tego, który naprawdę chcemy wiedzieć.
źródło
yes A is theoretically only ~3x faster
czy przyspieszenie ~ 3x nie jest reprezentatywne dla przyspieszenia, jakiego można się spodziewać przy zastosowaniu implementacji A zamiast B? (Sugeruję użycie mediany do oszacowania statystycznego. W przeciwieństwie do średniej, mediana nie jest zniekształcona przez wartości odstające.
źródło
Jeśli odchylenie standardowe nie jest nieistotne, można użyć dwóch wykresów pudełkowych obok siebie, skonstruowanych zgodnie z czasem jednego z algorytmów. Z pewnością nie są one standardem w analizie numerycznej, ale świetnie sobie radzą z wyświetlaniem tego rodzaju informacji.
źródło