/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Test af PHP kodes hastighed
Fra : scootergrisen


Dato : 06-12-10 22:50

Findes der en måde at teste hvor hurtig ens php kode er for at se
hvilken dele der er langsomme så man kan forbedre dem uden at skulle
indsætte kode forskellige steder i sin kode.

Måske blot ved at include() en fil.

Jeg har gjort det ved at indsætte en tidstæller her og der og alle vejne
i min kode men det alt for besværtligt.

 
 
Sune Storgaard (07-12-2010)
Kommentar
Fra : Sune Storgaard


Dato : 07-12-10 13:38

Den 06-12-2010 22:50, scootergrisen skrev:
> Findes der en måde at teste hvor hurtig ens php kode er for at se
> hvilken dele der er langsomme så man kan forbedre dem uden at skulle
> indsætte kode forskellige steder i sin kode.

Du kommer ikke uden om at skulle indsætte et "stopur" omkring den kode
du vil måde.

> Måske blot ved at include() en fil.

Funktionen kan snildt lægges i en ekstern fil, så kan du nøjedes med 1
linje kode før og efter det du vil måle.

> Jeg har gjort det ved at indsætte en tidstæller her og der og alle vejne
> i min kode men det alt for besværtligt.

Du slipper ikke udenom at indsætte en tæller.
Store udviklingsmiljøer har nogle funktioner, men jeg vil gætte på det
er overkill.


Ingen grund til at opfinde den dybephptæller igen, så brug den her:
http://php.net/manual/en/function.microtime.php

"Andris" har et indlæg på siden, hvor han gør det endnu nemmere at lave
forskellige målinger i løbet af en side, med en timer::start() og
timer::stop() omkring kode, så bliver det ikke nemmere.



scootergrisen (07-12-2010)
Kommentar
Fra : scootergrisen


Dato : 07-12-10 13:44

Det ville være smart hvis man kunne starte en tæller alle øverst i koden
og slutte den til sidste i koden og vises resultatet for hvor længe det
tog for alle funktionerne.
I stedet for at man skal indsætte en timer før og efter hver funktion.

Så skal man hele tiden flytte timeren nogle linier for at indsnævre
koden som er langsom.

Syns bare det kunne laves smartere.

Martin Larsen (07-12-2010)
Kommentar
Fra : Martin Larsen


Dato : 07-12-10 21:16

scootergrisen wrote:

> Det ville være smart hvis man kunne starte en tæller alle øverst i koden
> og slutte den til sidste i koden og vises resultatet for hvor længe det
> tog for alle funktionerne.
> I stedet for at man skal indsætte en timer før og efter hver funktion.

Du kan jo lave søg-og-erstat med regex så alle funktioner indledes og
afsluttes med et timerkald. På samme måde kan du slå det fra igen.

> Syns bare det kunne laves smartere.

Det kan det også. Kig på xdebugs profiler:
http://www.xdebug.org/docs/profiler

Martin Larsen (07-12-2010)
Kommentar
Fra : Martin Larsen


Dato : 07-12-10 21:19

Martin Larsen wrote:

> Det kan det også. Kig på xdebugs profiler:
> http://www.xdebug.org/docs/profiler

Der er også andre profilere

http://www.google.com/search?as_q=php profiler

scootergrisen (07-12-2010)
Kommentar
Fra : scootergrisen


Dato : 07-12-10 21:56

Ok tak det er vist lige det jeg søger.
Jeg skal lige har noget tid til at lærer det.

Martin (14-12-2010)
Kommentar
Fra : Martin


Dato : 14-12-10 19:56

On 07-12-2010 21:56, scootergrisen wrote:
> Ok tak det er vist lige det jeg søger.
> Jeg skal lige har noget tid til at lærer det.

Du kan også direkte i php.ini include en php fil før og efter ethvert
script.

Så er det bare noget ala

<?php
class Timer
{
private $time = 0;
public function __construct() { $this->time = microtime(true); }
public function __destruct() {
error_log('det tog siden
' . $_SERVER['REQUEST_URI'] . '
' . microtime(true)-$this->time . ' sekunder at køre');
}
}

$timer = new Timer;

?>

scootergrisen (14-12-2010)
Kommentar
Fra : scootergrisen


Dato : 14-12-10 21:31

> Du kan også direkte i php.ini include en php fil før og efter ethvert
> script.

Hvordan includer man en fil i php.ini ?

Martin (15-12-2010)
Kommentar
Fra : Martin


Dato : 15-12-10 14:59

On 14-12-2010 21:30, scootergrisen wrote:
>> Du kan også direkte i php.ini include en php fil før og efter ethvert
>> script.
>
> Hvordan includer man en fil i php.ini ?

Kig efter


Martin (15-12-2010)
Kommentar
Fra : Martin


Dato : 15-12-10 15:01

On 15-12-2010 14:58, Martin wrote:
> On 14-12-2010 21:30, scootergrisen wrote:
>>> Du kan også direkte i php.ini include en php fil før og efter ethvert
>>> script.
>>
>> Hvordan includer man en fil i php.ini ?
>
> Kig efter
>

Hov..

Kig efter

auto_prepend_file

Specifies the name of a file that is automatically parsed before
the main file. The file is included as if it was called with the
require() function, so include_path is used.

The special value none disables auto-prepending.


auto_append_file

Specifies the name of a file that is automatically parsed after the main
file. The file is included as if it was called with the require()
function, so include_path is used.

The special value none disables auto-appending.



http://php.net/manual/en/ini.core.php
ca. midt på siden

scootergrisen (15-12-2010)
Kommentar
Fra : scootergrisen


Dato : 15-12-10 17:57

ok tak men det ser ud til at virke fint med xdebug modulet.

Søg
Reklame
Statistik
Spørgsmål : 177429
Tips : 31962
Nyheder : 719565
Indlæg : 6407948
Brugere : 218878

Månedens bedste
Årets bedste
Sidste års bedste