Witam..
mam taki mało spotykany problem (google nie dał rady =/).. otóż tworzę sobie tabelkę różnych metod sortowania tablic (bąbelkowe, quick, wstawianie itd.) i chcę obliczyć czas posortowania rosnąco, losowo i malejąco dla próby 1k, 10k i 100k liczb. Wszystko wychodzi ładnie pięknie, tzn. skrypt dla każdej komórki tworzy odpowiednio dużą tablicę i odpowiednio ją wypełnia liczbami. Następnie sprawdzany jest microtime, dokonywane sortowanie i obliczana różnica microtime na końcu.
Wyniki są jednak nader dziwne, bo wg przedstawionych obliczeń tablice z 1k elementów sortują się o kilka ms dłużej niż tablice 10k (dalej, tj. porównując 10k i 100k jest odwrotnie, ale to akurat nic dziwnego, że większą tablicę sortuje dłużej).
Jedyny pomysł, jaki przychodzi mi na myśl to to, że PHP tworzy sobie cache interpretera (istnieje taki wbudowany w standardowy php? 0o), ale czuję, że ta opcja odpada, bo porównując liczby przy każdym odświeżeniu zwykle nie są identyczne.
Ostatnia rzecz (choć nie wydaje mi się, żeby miała tu znaczenie) - funkcje sortowania ładowane są z zewnętrznych plików (oddzieliłem logikę samego sortowania od tworzenia tablic testowych i obliczeń czasowych).
Skąd rodzi się moje pytanie - czy byłby ktoś w stanie wyjaśnić mi te dziwne anomalie w czasach sortowania tablic?