http://www.gazehawk.com/blog/php-require-performance/

Autre chose aussi qui permet aussi d'améliorer les performances, bien penser à 
faire un isset ou empty avant de tester la valeur d'une variable

 http://mkaz.com/web-dev/php-benchmarking-isset-empty-or-var.html

-----------------------------------------
Régis Houssin
Tél. +33633020797
http://www.dolibarr.fr
http://www.dolibox.fr

Le 31 juil. 2012 à 23:18, Christophe Battarel <[email protected]> 
a écrit :

> Ma question était volontairement naïve... mais php a encore des choses à 
> améliorer et donc de l'avenir ;-) 
> 
> Le 31/07/2012 23:16, Régis Houssin a écrit :
>> Si php avait un cache il n'y aurait pas des caches opcode à rajouter ;-)
>> 
>> -----------------------------------------
>> Régis Houssin
>> Tél. +33633020797
>> http://www.dolibarr.fr
>> http://www.dolibox.fr
>> 
>> Le 31 juil. 2012 à 23:09, Christophe Battarel 
>> <[email protected]> a écrit :
>> 
>>> I'm very surprised by the results of Regis tests. And a bit disappointed by 
>>> them ! doesnt php use any cache before including files ? it's pretty 
>>> amazing.
>>> -- 
>>> Responsable technique
>>> SARL altairis
>>> www.altairis.fr
>>> 09 52 71 70 96 
>>> Le 31/07/2012 22:59, Laurent Destailleur (eldy) a écrit :
>>>> 
>>>> Not that however that a having a lot of require and include is not really 
>>>> a problem when this is done onto a file that exists.
>>>> Problem is above all for is_file or require or include on file that does 
>>>> not exists.
>>>> 
>>>> But reducing time is always welcome.
>>>> Not that for require on top of page, adding a test on a class is useless 
>>>> because we know that file was not loaded.
>>>> 
>>>> 
>>>> 
>>>> Le 31/07/2012 18:48, Régis Houssin a écrit :
>>>>> Hi
>>>>> 
>>>>> I did a little test performance between require_once and class_exists.
>>>>> we gain 50% performance gain using class_exists
>>>>> see the figures below (tested separately)
>>>>> 
>>>>> class_exists condition will check only if the class is already included.
>>>>> A require_once will read the file, read file, create the hash, the hash 
>>>>> compare to other hashes, and finally decide.
>>>>> 
>>>>> $t1 = microtime(true);
>>>>> $nbloops = 3000;
>>>>> $file1 = 'compta/facture/class/facture.class.php';
>>>>> $file2 = 'societe/class/societe.class.php';
>>>>> $file3 = 'comm/propal/class/propal.class.php';
>>>>> 
>>>>> for ($i=0;$i<$nbloops;$i++){
>>>>>     if (! class_exists('Facture'))
>>>>>         require $file1;
>>>>>     if (! class_exists('Societe'))
>>>>>         require $file2;
>>>>>     if (! class_exists('Propal'))
>>>>>         require $file3;
>>>>> }
>>>>> echo 'script executed in '.(microtime(true)-$t1).' s';
>>>>> //script executed in 0.0548310279846 s
>>>>> 
>>>>> for ($i=0;$i<$nbloops;$i++){
>>>>>     require_once $file1;
>>>>>     require_once $file2;
>>>>>     require_once $file3;
>>>>> }
>>>>> echo 'script executed in '.(microtime(true)-$t1).' s';
>>>>> //script executed in 0.134128093719 s
>>>>> 
>>>>> 
>>>>> 
>>>>> Cordialement,
>>>>> -- 
>>>>> Régis Houssin
>>>>> ---------------------------------------------------------
>>>>> Cap-Networks
>>>>> Cidex 1130
>>>>> 34, route de Gigny
>>>>> 71240 MARNAY
>>>>> FRANCE
>>>>> VoIP: +33 1 83 62 40 03
>>>>> GSM: +33 6 33 02 07 97
>>>>> Web: http://www.cap-networks.com/
>>>>> Email: [email protected]
>>>>> 
>>>>> Dolibarr developer: [email protected]
>>>>> Web Portal: http://www.dolibarr.fr/
>>>>> SaaS offers: http://www.dolibox.fr/
>>>>> Shop: http://www.dolistore.com/
>>>>> Development platform: https://doliforge.org/
>>>>> ---------------------------------------------------------
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Dolibarr-dev mailing list
>>>>> [email protected]
>>>>> https://lists.nongnu.org/mailman/listinfo/dolibarr-dev
>>>> 
>>>> 
>>>> -- 
>>>> Eldy (Laurent Destailleur).
>>>> ---------------------------------------------------------------
>>>> EMail: [email protected]
>>>> Web: http://www.destailleur.fr
>>>> 
>>>> Dolibarr (Project leader): http://www.dolibarr.org
>>>> To make a donation for Dolibarr project via Paypal: [email protected]
>>>> AWStats (Author) : http://awstats.sourceforge.net
>>>> To make a donation for AWStats project via Paypal: [email protected]
>>>> AWBot (Author) : http://awbot.sourceforge.net
>>>> CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Dolibarr-dev mailing list
>>>> [email protected]
>>>> https://lists.nongnu.org/mailman/listinfo/dolibarr-dev
>>> 
>>> _______________________________________________
>>> Dolibarr-dev mailing list
>>> [email protected]
>>> https://lists.nongnu.org/mailman/listinfo/dolibarr-dev
>> 
>> 
>> _______________________________________________
>> Dolibarr-dev mailing list
>> [email protected]
>> https://lists.nongnu.org/mailman/listinfo/dolibarr-dev
> 
> _______________________________________________
> Dolibarr-dev mailing list
> [email protected]
> https://lists.nongnu.org/mailman/listinfo/dolibarr-dev
_______________________________________________
Dolibarr-dev mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/dolibarr-dev

Répondre à