Najpierw dam link do kodu: http://ideone.com/6k8R6
Na moim Intel Core 2 Duo, PHP 5.4.6 wynik jest:
usort: 7.8763520717621
quicksort: 2.9220938682556
(usort
jest wolniejszy niż quicksort
)
Ale na skutek Ideone jest:
usort: 0.0313699245453
quicksort: 0.0621209144592
(usort
jest szybszy niż quicksort
)
Sprawdziłem również kod na komputerze mojego przyjaciela (Intel Core i5, PHP 5.4.4), a także usort
był również szybszy.
Moje pytanie brzmi: dlaczego czasami quicksort jest szybszy od usort, a czasami usort jest szybszy?PHP prędkość usort
6
A
Odpowiedz
1
Quicksort jest uważany za jeden z najszybszych algorytmów sortowania nieposortowanych danych i najwolniejszy z już posortowanych (lub prawie posortowanych) danych.
+0
Kod był taki sam na każdym komputerze i funkcji 'set ($ uzytkownik);' używany do ustawiania tablicy na niesortowany stan przed każdym sortowaniem (przepraszam za błędy gramatyczne, ale jestem z Polski i jest już dość późno;)). –
Powiązane problemy
- 1. php - usort lub array_multisort?
- 2. Parametry funkcji zwrotnej USORT w PHP
- 3. PHP/Javascript: Jak mogę ograniczyć prędkość pobierania?
- 4. Prędkość nośnika Prędkość dla Windows Phone 8
- 5. usort zwraca tablicę w odwrotnej kolejności
- 6. Prędkość [] .forEach.call (...
- 7. Prędkość CSS
- 8. Prędkość CLLocation
- 9. Prędkość magistrali usługi Azure
- 10. Prędkość vs. FreeMarker
- 11. prędkość odtwarzania dźwięku pygame
- 12. Prędkość Sproutcore vs Cappuccino
- 13. Prędkość i $ foreach.count
- 14. Mysql popraw prędkość SELECT
- 15. Śledź prędkość ruchomego widoku
- 16. ciąg JavaScript prędkość konkatenacji
- 17. Pobierz programowo prędkość łącza?
- 18. Javafx titledpane animacja prędkość
- 19. CLLOKACJA zwracająca ujemną prędkość
- 20. Prędkość JQuery kontra javascript
- 21. Zwiększ prędkość openCover
- 22. Wskaźniki i prędkość wykonywania
- 23. Jak zmniejszyć prędkość Internetu
- 24. Jak dodać dodatkowe parametry do funkcji usort/uasort cmp?
- 25. Box2d: Maksymalna możliwa prędkość liniowa?
- 26. Prędkość rozpoznawania mowy firmy Microsoft
- 27. Płynna animacja KineticJS, kontrolowana prędkość
- 28. Bardzo powolna prędkość ładowania OpenCart
- 29. Jak można ograniczyć prędkość pobierania?
- 30. R fread data.table niespójna prędkość
Podejrzewam, że to dlatego, że używasz naprawdę małego zestawu danych na ideone i że zaimplementowałeś quicksort w czystym PHP, a usort jest funkcją biblioteczną. –
Wierzę, że jest to oparte na procesorze z powodu paralelizacji. Pamiętam, że czytałem coś o tym ... hmmm, myślę, że to faktycznie była wikipedia: http://pl.wikipedia.org/wiki/Quicksort ale moja głowa skrzywdziłoby to, żeby to przeczytać. – Sammaye
Aby dodać do tego - twój zestaw danych składa się z czterech elementów. To nawet nie wystarczy, aby właściwie zademonstrować quicksort! – duskwuff