7
votes

pathinfo vs fnmatch

Il y a eu un petit débat sur la vitesse de Fnmatch sur Pathinfo ici: Comment Pour vérifier si le fichier est PHP?

Je n'étais pas totalement convaincu alors décidé de comparer les deux fonctions.

Utiliser des chemins dynamiques et statiques a montré que Pathinfo était plus rapide.

est ma logique de référence et ma conclusion valide?

edit : Utilisation de Mac PHP de CMD

PHP 5.3.0 (CLI) (Construit: 20 juil. 2009 13:56:33) Copyright (c) 1997-2009 le PHP Group Zend Engine V2.3.0, Copyright (c) 1998-2009 ZEND Technologies

Chemin dynamique Pathinfo 3.2973630428314 Fnmatch 3.4520659446716 x1.05

Piste de chemin statique Pathinfo 0.86487698554993 Fnmatch 1.0420439243317 x1.2

Mac Xampp php de cmd

PHP 5.3.1 (CLI) (construit: 27 février 2010 12:41:51) Copyright (c) 1997-2009 le PHP Group Zend Engine V2.3.0, Copyright (c) 1998-2009 ZEND Technologies

Chemin dynamique PATHINFO 3.63922715187 Fnmatch 4.99041700363 x1.37

Chemin de chemin statique PATHINFO 1.03110480309 Fnmatch 2.38929820061 x2.32

I Inclure un échantillon des résultats qui se trouvent en quelques secondes pour 100 000 itérations sur ma machine: xxx

code: xxx


4 commentaires

devrait être un cw car ce n'est pas une vraie question, je suppose


C'est une vraie question! Pourquoi les autres atteignent-ils une conclusion différente?


Combien de fois avez-vous exécuté le test? Sur les machines multitâches, certaines tâches peuvent être retardées, ralentissement des portions de code qui peuvent normalement être plus rapides.


Je l'ai couru plusieurs fois et j'ai reçu les mêmes résultats ... J'ai mis à jour mon message avec les résultats de la ligne de commande.


5 Réponses :


1
votes

Mes résultats sont en face de la vôtre: xxx

version xxx


0 commentaires

1
votes

Utiliser le vôtre avec xxx

donne xxx

ces quatre xxx

Lors de la course comme ceci xxx

et profilé sur ma machine à partir de Zend Studio donne xxx

Je trouve quelque peu gênant que non 4 est le plus rapide, mais c'est ce qu'il dit. Et avec 0,00000n secondes par appel, il n'y a rien à déranger de toute façon.


0 commentaires

1
votes

Utilisation du même code d'analyse comparative

dynamic path
pathinfo 2.6542711257935
fnmatch 1.9943950176239
x0.75

static path
pathinfo 1.1711349487305
fnmatch 0.54186105728149
x0.46

PHP Version 5.3.1
Build Date  Nov 20 2009 17:20:57
Compiler    MSVC6 (Visual C++ 6.0)
Architecture    x86
Thread Safety   enabled
Zend Memory Manager enabled
Zend Multibyte Support  disabled


0 commentaires

1
votes

Je vais jeter mes résultats ici: XXX

Mais gardez à l'esprit mon commentaire original sur la question que vous avez liée à:

En ce qui concerne la vitesse, fnmatch va sortir Effectuer PathInfo 2: 1 quand utilisé pour Cet objectif.

spécifique à la ramification sur une extension particulière.


0 commentaires

1
votes

J'ai suscité toutes les réponses mais je répondra à ma propre question.

Ma logique de référence et ma conclusion est valide et toutes les réponses de réponse sont valides.

J'ai trouvé la raison pour laquelle, qui a soulevé une autre question, mais aussi faire de cette post partir dans une tangente et la rendant encore plus longtemps que je vais ouvrir une autre question. Je vais mettre le nouveau lien ici quand je l'ai fait.

Merci d'avoir benchmarking pour moi!

Edit: Voici la partie 2 Question: (pathinfo vs fnmatch Partie 2) Benchmark de la vitesse inversée sur Windows et Mac


0 commentaires