Autor Zpráva
Overman
Profil *
Ahoj,
rád bych se zeptal, která z následujících dvou funkcí je rychlejší? Obě dělají řeší stejnou úlohu. Já myslím, že ta první je mnohem rychlejší, a vy?

1. funkce
function dbdate_to_normal($datum){
    return implode('.', array_reverse(explode('-', $datum)));
  }


2. funkce
function CovertDBDateToNormal($date)
  {
    $date = explode("-", $date);
    
    $pom = $date[0];
    $date[0] = $date[2];
    $date[2] = $pom;
        
    $date = implode(".", $date); 
        
    return $date;
  }
DJ Miky
Profil
Nejspíše ta první rychlejší bude, ale i opak může být pravdou. Co si to třeba změřit? http://www.php.net/microtime
nightfish
Profil
nejrychlejší bude (pokud se jedná o databázi mysql)
select date_format(`datum`, '%d. %m. %Y') from `tabulka`

jinak v tomto případě nemá smysl rozdíl v rychlostech řešit (aneb jedná se zřejmě o předčasnou optimalizaci)
BetaCam
Profil
Overman

Podle profileru je rychlejší ta druhá, ale rozdíl je tak nepatrný, že se to klidně dá přisuzovat chybě způsobené měřením.

Při 50ti voláních byla ta druhá rychlejší o 0.2ms
Overman
Profil *
Chci totiž přepsat staré funkce na nové a rychlejší...
BetaCam
Profil
Tak podle profileru je opravdu rychlejší ta druhá. na 10k volání zhruba o 70ms
Overman
Profil *
Děkuji moc, kde seženu nějaký ten profiler, abych si to mohl všechno kontrolovat sám .) děkuji
nightfish
Profil
Děkuji moc, kde seženu nějaký ten profiler, abych si to mohl všechno kontrolovat sám
stačí použít již zmíněnou funkci microtime()
BetaCam
Profil
Overman

No buď si to můžeš měřit jak navrhoval DJ Miky

A nebo je tu jednodušší varianta, že si seženeš nějaký editor s profilerem třeba

http://www.nusphere.com/products/phped.htm
Davex
Profil
Rychlejší bude funkce
function My2Date($date)
{
  list($y, $m, $d) = explode('-', $date);
  return $d . '.' . $m . '.' . $y;
}

Ale pokud jí nevoláš řádově desetitisíckrát, tak je zrychlení nepozorovatelné.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: