Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Php luomisaika?

makas [21.10.2005 20:47:07]

#

Olen nähnyt monella php:lla tehdyllä sivulla lukee: sivu luotiin 0.9 sekunnissa tai jotain vastaavaa. Mikä php funktio sopii tähän "luomisajan mittaamiseen" parhaiten?

sooda [21.10.2005 20:56:54]

#

Otat microtimellä ajan ylös sivun alussa ja lopussa. sitte loppuaika - alkuaika = latausaika.

Antti Laaksonen [21.10.2005 21:25:43]

#

Luomisaika lasketaan kai yleensä niin, että skriptin alussa ja lopussa katsotaan järjestelmän aika. Sitten aloitusaika vähennetään lopetusajasta. Funktio microtime palauttaa kaksiosaisen ajan, jossa alussa on luvun desimaaliosa ja sen jälkeen tulee aika sekunteina. Esim. näin: "0.35292800 1129919124".

<?php

// aloitusaika
$alku = explode(" ", microtime());

// sivun luominen
for ($i = 0; $i < 100000; $i++) {
    $s = 0;
    for ($a = 0; $a < strlen($i); $a++) {
        $s += pow(substr($i, $a, 1), $a + 1);
    }
    if ($s == $i) $tulokset[] = $i;
}

// lopetusaika
$loppu = explode(" ", microtime());

// luontiajan tulostus
echo $loppu[1] - $alku[1] + $loppu[0] - $alku[0];

?>

muokkaus: Myöhästyin kovasti, kun innostuin tekemään esimerkin.

makas [22.10.2005 11:13:25]

#

Kiitos kummallekkin, sain toimimaan.

_Pete_ [25.10.2005 09:44:33]

#

Antti Laaksonen kirjoitti:

Luomisaika lasketaan kai yleensä niin, että skriptin alussa ja lopussa katsotaan järjestelmän aika. Sitten aloitusaika vähennetään lopetusajasta. Funktio microtime palauttaa kaksiosaisen ajan, jossa alussa on luvun desimaaliosa ja sen jälkeen tulee aika sekunteina. Esim. näin: "0.35292800 1129919124".

Eikö php:ssä ole funktiota, joka palauttaa unix timestampin ?

Olga [25.10.2005 10:20:16]

#

_Pete_ kirjoitti:

Eikö php:ssä ole funktiota, joka palauttaa unix timestampin ?

On toki, time(). Sivujen pyöräytyksessä vaan ei tuo sekunnin tarkkuus riitä lähimainkaan.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta