IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Temps moyen de création d'une page html par php ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Temps moyen de création d'une page html par php ?
    Bonjour,

    Je suis actuellement en train de développer un ensemble de classe php me permettant de traiter le html/css avec une approche orienté objet.
    Tout fonctionne correctement, mais je suis surpris par le temps du traitement php : la création d'une simple barre de navigation avec 6 boutons prend 10 millisecondes environs, ce qui me parait énorme.
    Certes, j'instancie une classe par bouton ; certes chaque classe de bouton étend une classe qui en étend une autre, mais tout de même.... Ce n'est pas très compliqué...

    Je suis en train de fabriquer ma page, je n'ai pas fini, mais j'estime qu'à la fin, son temps de création sera d'environs 50 millisecondes.
    Est ce que cela vous parait être un temps de création normal ?

    De mon coté, je n'ai aucune expérience en développement coté serveur et je ne me rend vraiment pas compte...
    50 millisecondes, pour moi, c'est énorme... Quand on créé un jeu en javascript ou pour mobile, tout le traitement doit être contenu dans une durée de 16 millisecondes maximum (pour assurer une cadence de 60 images par secondes)

    Merci d'avance

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 386
    Points : 10 414
    Points
    10 414
    Par défaut
    Salut,

    La rapidité d'un script php (ou autre langage) dépend du nombre de lignes qu'il doit interpréter, du nombre de fichiers qui doivent être inclus, des accès à la bdd etc.

    Il n'y a pas de temps de création "normal" puisque tout dépend des besoins et de l'organisation du code. Et bien entendu le temps d'exécution peut être très différent pour un même résultat final, si on ne charge que le code strictement nécessaire pour créer la page, si on diminue le nombre d'accès au disque, si on peut utiliser un cache, si le serveur utilise un ssd etc.

    Ensuite avec javascript on ne crée pas une page entière, on modifie juste quelques éléments du DOM déjà existant donc ce n'est pas comparable.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Hello Abciweb

    Merci pour ta réponse mais elle ne m'éclaire pas beaucoup...

    "la rapidité d'un script php (ou autre langage) dépend du nombre de lignes qu'il doit interpréter, du nombre de fichiers qui doivent être inclus, des accès à la bdd etc. "

    Je ne sais pas ce qu'il en est pour le php (d'ou ma question) mais ce n'est pas vrai pour la plupart des langages.
    Le temps d'execution d'un script dépend généralement de la quantité de travail demandé, pas du nombre de lignes contenu dans le code.
    Une double boucle allant de 0 à 1000000 prendra toujours 2 lignes, mais cela mettera php (ou n 'importe quel langage) sur les genoux parce que la quantité de travail est énorme.

    Dans le cas de la création d'un menu contenant 6 boutons, je ne vois pas ce qui justifie 10 millisecondes de temps d'exécution...
    Tu as sans doute raison quand tu évoques le nombre de fichiers - je ne vois que ça... - mais cela n'est valable (à ma connaissance) que pour le php...
    J'ai l'habitude de construire des frameworks assez complet, généralement constitué de plus de 100 classes et comme dit plus haut, tout fonctionne en moins de 16 milliseconde (y compris lorsqu'il s'agit d'un jeu en 3D infiniment plus complexe qu'un menu à 6 boutons...)


    "Il n'y a pas de temps de création "normal" puisque tout dépend des besoins et de l'organisation du code. Et bien entendu le temps d'exécution peut être très différent pour un même résultat final, si on ne charge que le code strictement nécessaire pour créer la page, si on diminue le nombre d'accès au disque, si on peut utiliser un cache, si le serveur utilise un ssd etc."
    Certes...
    Dans ce cas, je me permet de poser la question autrement : "est ce que 50ms vous parait un temps normal pour construire une page web ou est ce que ce chiffre vous parait énorme ?"

    Si on était dans un forum javascript, je répondrais à cette question "50ms est extrêmement long dans le contexte ou on veut faire une animation fluide car cela sous entend qu'on ne peut pas obtenir plus de 20 images / seconde"

    "Ensuite avec javascript on ne crée pas une page entière, on modifie juste quelques éléments du DOM déjà existant donc ce n'est pas comparable."
    En javascript on peut tout faire... Et bien sur qu'on peut créer des pages entières... Tout dépend de la demande et du client.

    En l'occurence, pour faire un menu avec 6 boutons avec JS/canvas, je peux t'assurer que ça prendrait moins de 1 ms...
    (j'ai un peu moins de 15 ans de développement front end dans les pattes, je sais un minimum de quoi je parle)


    Je suis tombé hier sur un article qui reprochait à Symfony sa lenteur d'éxécution : http://symfony.com/blog/is-symfony-t...al-world-usage
    Ce qui m'amène à penser que la faute revient à PHP que s'avère être bien plus lent que n'importe quel autre langage pour le web (dans le contexte ou on utilise un grand nombre de classes en tout cas)

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 386
    Points : 10 414
    Points
    10 414
    Par défaut
    Salut,

    Citation Envoyé par tlecoz Voir le message
    Le temps d'execution d'un script dépend généralement de la quantité de travail demandé, pas du nombre de lignes contenu dans le code.
    Une double boucle allant de 0 à 1000000 prendra toujours 2 lignes, mais cela mettera php (ou n 'importe quel langage) sur les genoux parce que la quantité de travail est énorme.
    Mais je t'ai pas parlé "du nombre de lignes contenu dans le code" j'ai parlé du nombre de lignes qu'il doit interpréter, et donc le script devra interpréter chaque itération de la boucle. Et cela va dépendre aussi du travail à faire, une incrémentation sera évidemment plus rapide qu'un calcul complexe. Enfin bon tout cela est sous entendu je vais pas rentré dans des détails aussi évidents

    Citation Envoyé par tlecoz Voir le message
    Tu as sans doute raison quand tu évoques le nombre de fichiers - je ne vois que ça... - mais cela n'est valable (à ma connaissance) que pour le php...
    Je voulais simplement dire que si tu dois faire plusieurs centaines d'accès serveur pour rapatrier les fichiers nécessaires à la construction d'une page, cela ira nécessairement moins vite que si tu ne dois accéder qu'à une dizaine...

    Citation Envoyé par tlecoz Voir le message
    Dans ce cas, je me permet de poser la question autrement : "est ce que 50ms vous parait un temps normal pour construire une page web ou est ce que ce chiffre vous parait énorme ?"
    Mieux vaut tester en conditions réelles donc sur un serveur distant et dans ce cas tu peux tester la réactivité de ta page avec google page speed, cela te donneras une bonne indication du comportement de ta page dans un contexte web.

    Après peut-être fais-tu des applications spécifiques où php n'est pas le mieux adapté, ou que tu ne l'emploies pas dans les meilleurs conditions.

    Evidemment je peux pas te répondre sur ton 50ms, isolément du contexte cela ne veut rien dire. Mais quand on sait que facebook utilise une version php avec des performances très voisines de celles proposées dans la dernière version php7, on peut émettre des doutes sur le fait que php soit inutilisable pour des grosses applications web comme tu semble le sous-entendre.

    Et je comprends pas ta comparaison avec une application fluide qui pourrait faire 60 images par secondes, tu compte faire une soixantaine de requêtes serveur par seconde ? Dans cette optique là ça va pas le faire.

    C'est pas vraiment la rapidité de la création de ton menu qu'il faut prendre en considération, mais le contexte dans lequel tu souhaites utiliser php qui va déterminer s'il est adapté ou non à tes besoins.

  5. #5
    Membre habitué
    Homme Profil pro
    rien
    Inscrit en
    Décembre 2015
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Décembre 2015
    Messages : 282
    Points : 144
    Points
    144
    Par défaut
    Salut
    Ce qui t'a été répondu est selon moi des plus justes, et ta question en topic n'est pas la bonne question à poser, tu l'as compris mais en disant à la fin :
    Dans ce cas, je me permet de poser la question autrement : "est ce que 50ms vous parait un temps normal pour construire une page web ou est ce que ce chiffre vous parait énorme ?"
    Tu poses encore la mauvaise question.

    Là où tu étais dans la bonne question c'était en écrivant :
    Dans le cas de la création d'un menu contenant 6 boutons, je ne vois pas ce qui justifie 10 millisecondes de temps d'exécution...
    C'est cette question qui me semble la plus pertinente, et moi je juge de la pertinence de la question avec ma logique mais pour te répondre sur ces 10 ms il faudrait que j'en connaisse plus sur PHP, dans ma connaissance actuelle 10 ms me semble rapide, en plus est-ce que ces 10 ms environ reviennent à chaque création ou est-ce c'était intermittent ? Car il aurait peut-être pu y avoir une latence passagère je ne sais pas, et en plus dans ces 6 lignes de code on ne sait pas ce qu'elles font, peut-être font-elles une opération un peu lourde ? (lors de la création du menu).

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Bonsoir !

    "Après peut-être fais-tu des applications spécifiques où php n'est pas le mieux adapté, ou que tu ne l'emploies pas dans les meilleurs conditions."
    J'essai, tant bien que mal, de créer une boutique en ligne. Je pense que php est un bon candidat pour ça mais je manque clairement d'expérience dans le domaine.
    Je ne me rend pas compte du tout de l'importance d'un temps d'exécution rapide coté serveur... Peut être que ça n'en a aucune, ou très peu, mais je n'en sais rien...


    "Je voulais simplement dire que si tu dois faire plusieurs centaines d'accès serveur pour rapatrier les fichiers nécessaires à la construction d'une page, cela ira nécessairement moins vite que si tu ne dois accéder qu'à une dizaine... "
    En l'occurence ce n'est pas le cas, le plus gros de mes classes se trouve dans le même fichier. Je pense que le "problème" vient du temps d'instanciation des classes, car j'en ai quand même un paquet, mais ce temps est pour moi choquant car il est beaucoup plus gros que si je voulais coder et executer exactement les même classes en javascript, ou en java, ou en actionscript (les autres langages que j'ai l'habitude d'utiliser ), au moins 10x plus gros.
    Et cela me surprend beaucoup car dans mon imaginaire PHP était bien plus puissant que JS, mais en fait non. Je vais m'en remettre

    "on peut émettre des doutes sur le fait que php soit inutilisable pour des grosses applications web comme tu semble le sous-entendre."
    Je ne prétend rien de tel ; je me range du point de vue de celui qui a écrit l'article sur Symfony à savoir "le framework le plus rapide est pas de framework du tout" , ce qui n'est pas une assez bonne raison pour ne pas écrire de framework
    L'article sur Symfony m'a beaucoup détendu, car du coup je me dis que c'est une situation normale et qu'il n'y a pas lieu de dramatiser ; mais pour moi qui ai l'habitude de travailler coté client, 10 ms, je persiste et signe, c'est énorme ! Et donc mon code m'inquiétait.
    Si j'étais médecin et qu'en examinant mon patient j'observais qu'une de ces constantes vitales, attendu à 0-1 avait franchi le cap des 10, je pense que j'appelerai le SAMU direct, et c'est un peu ce que j'ai fait en venant ici

    "tu compte faire une soixantaine de requêtes serveur par seconde ? Dans cette optique là ça va pas le faire."
    C'est précisément cet aspect que je ne maitrise pas et qui m'inquiète.
    J'essaye de créer une boutique de vente de savons. Même si je suis optimiste quant à son succés (parce que la boutique existante (IRL) en a déjà) , je doute fortement qu'il y ai une telle densité de requêtes sur ce site précis. Mais le site en question sera héberger chez ovh (mutualisé) et donc...ben... je ne sais pas trop à quoi m'attendre et ça me stresse un peu en terme de "charge mutualisée" , mais bon, vu que plein de gens utilisent symfony qui serait l'un des framework les plus lent (je me base sur ce que j'ai lu ; je n'ai aucune expérience avec symfony) , je me dis qu'il n'y a surement pas lieu de trop s'inquieter (mais peut être que je devrais ?)

Discussions similaires

  1. Création d'une page html à partir d'un prog en C
    Par Adrilo dans le forum Bibliothèque standard
    Réponses: 3
    Dernier message: 22/01/2009, 17h36
  2. création d'une page HTML
    Par malikakika dans le forum C++Builder
    Réponses: 3
    Dernier message: 12/07/2008, 11h43
  3. [Mail] Envoyer une page html par mail
    Par Schlapp67 dans le forum Langage
    Réponses: 7
    Dernier message: 20/10/2006, 18h16
  4. [Tableaux] Sauvegarde (création) d'une page HTML
    Par ythim dans le forum Langage
    Réponses: 9
    Dernier message: 22/06/2006, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo