Tak ma zaujima jedna vec.
Ake triedenie je pouzite v PHP vo funkcii sort a jej podobnym? V manuali na php.net som sa to nikde nedocital.
Ma to zaujima, pretoze teraz pracujem na jednom skripte, ktory sa snazim co najviac zoptimalizovat, pretoze pracuje s vacsim mnozstvom udajov a hlavne ho najviac spomaluje obrovsky pocet INSERTov do databazy. Takze sa snazim vsetko co sa da urobit co najrychlejsie. Kazda milisekunda dobra. A tak som rozmyslal, ze si urobim vlastnu triedaciu funkciu mergesort.
Neviete niekto?
Fórum › PHP
Sort v PHP
určitě se to bude dat vyčíst ze zdrojáků... :)
To Smokie : Vstavaný sort bude každopádne najrýchlejší.
Ak chceš pekňe "načipovať" svoje scripty, pozri si
http://www.inet.sk/clanok/5751/optimalizacia-php-pre-zaciatocnikov http://www.inet.sk/clanok/5751/optimalizacia-php-pre-zaciatocnikov
http://latrine.dgx.cz/php-puvab-optimalizace-rychlosti http://latrine.dgx.cz/php-puvab-optimalizace-rychlosti
http://latrine.dgx.cz/php-cerna-magie-optimalizace http://latrine.dgx.cz/php-cerna-magie-optimalizace
Zdrojáky php jsem sice neviděl, ale odhadoval bych, že je použit quicksort, který vychází v reálném použití jako nejrychlejší, přestože je teoreticky třeba mergesort v nejhorším případě rychlejší. Pokud bys to chtěl opravdu maximálně zoptimalizovat, tak si spočítej časy různých algoritmů třídění pro různé velikosti vstupních dat a pak podle velikosti vstupních dat v programu přepínej mezi jednotlivými algoritmy. Tak je to myslím i implementováno v C++, kde navíc pokud třídící algoritmus pozná, že se vstupní data jeví jako špatná (dlouho by to trvalo), tak se přepne na jiný třídící algoritmus.
IMHO: Ak si v PHP napíšeš sorter, tak na samotné sortovanie zožerie množstvo času aj samotné vykonávanie PHP kódu, preto si myslím, že natívna funkcia bude podstatne rýchlejšia, keďže je písana na "kapik" nižšej jazykovej úrovni...
Muselo by ísť o fajne nechutný a veľký vstup, aby mohol byť algoritmus mergesort (alebo iný) napísaný v PHP rýchlejší ako quicksort, napísaný v cecku [funkcia sort()]. A aj tak pochybujem, že by bol rýchlejší...
Čisto teoreticky, by sa do toho sortu mohol pridať ďalší parameter, ktorý by hovoril, aký algoritmus sa má použiť...
Algorytmus napsany v PHP jakozto interpretovanem jazyce nikdy nebude rychlejsi nez vestaveny sort napsany v C nebo v cem to PHP je napsano.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Buble sort a select sort — založil Rasťo
Selection sort — založil antybart
Paralelní Sort — založil hoacin
Shell sort v C — založil tomtom
Moderátoři diskuze