+ Répondre à la discussion
Page 6 sur 19 PremièrePremière ... 234567891016 ... DernièreDernière
Affichage des résultats 101 à 120 sur 369
  1. #101
    Candidat au titre de Membre du Club
    Inscrit en
    février 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : février 2004
    Messages : 32
    Points : 12
    Points
    12

    Par défaut

    Moi j'en avais une autre:vaut-il mieux utiliser des fonctions mysql ou php ?
    Mysql ! Faut faire des requetes qui te génère les resultats pret à etre affiché ... Utilise par exemple les fonctions de formatage de date de ta BD plutot que celui de php...

    Mais j'ai aussi une question qui se raproche de celle de despe974 !!
    Je suis sur un projet actuellement que je dev en php (c'est un vrai soft à lui tout seul) et j'aurais bien structurer le projet comme je l'aurais fait en java par exemple (Tout objet casiment) mais j'ai eu peur de devoir faire des includes de pages contenant 1000000000 de lignes avec toutes mes classes qui au final ne seraient pas toute utilisées dans chaque page.

    Alors est ce que le fait de faire des includes de "porc" va entrainer une grosse charge et un ralentissement ?

  2. #102
    Membre confirmé
    Homme Profil pro Cédric Girard
    Développeur Web
    Inscrit en
    mai 2002
    Messages
    299
    Détails du profil
    Informations personnelles :
    Nom : Homme Cédric Girard
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : mai 2002
    Messages : 299
    Points : 268
    Points
    268

    Par défaut

    Ma solution : utiliser des include_once uniquement pour les libs utiles dans toutes les libs qui en dépendent. Comme ça les modules ne sont chargés qu'en cas de besoin.
    PEAR::Cache_lite fait pareil, il ne charge le coeur de pear qu'en cas de besoin (en cas d'erreur en fait)

  3. #103
    Candidat au titre de Membre du Club
    Inscrit en
    février 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : février 2004
    Messages : 32
    Points : 12
    Points
    12

    Par défaut

    Le include_once ne se charge qu'en cas de besoin ?
    C'est ce qu'il me faut mais j'ai pourtant pas vu ca dans la doc ...
    http://fr2.php.net/manual/fr/function.include-once.php

  4. #104
    Membre confirmé
    Homme Profil pro Cédric Girard
    Développeur Web
    Inscrit en
    mai 2002
    Messages
    299
    Détails du profil
    Informations personnelles :
    Nom : Homme Cédric Girard
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : mai 2002
    Messages : 299
    Points : 268
    Points
    268

    Par défaut

    Non, j'ai mal expliqué : tu ne mets des include_once que dans les fichiers qui ont besoins d'autres fichiers, au lieu d'inclure tout ce qui peut être utile au début.
    Genre classefille.php inclue classemere.php qui inclue commun.php
    et classefille2.php inclue classemere2.php qui inclue commun.php
    Dans une page qui n'utilise que classefille.php, les fichiers inutiles fille2 et mere2 ne seront pas chargés (gain de temps).
    Mais si une page appele fille et fille2, commun.php sera inclu deux fois, d'où l'obligation d'utiliser le include_once, qui ne le reincluera pas.

  5. #105
    Membre régulier Avatar de zamanika
    Inscrit en
    novembre 2003
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : novembre 2003
    Messages : 106
    Points : 92
    Points
    92

    Par défaut

    salut,

    J'ai appris pleins de choses à la lecture de ce topic !!! Grand merci à ceuzes qui y contribuent

    Du coup, j'ai une question... qu'est-ce qui est plus rapide - et la différence est-elle sensible ?

    3 variables différentes :
    Code :
    1
    2
    3
    $var1=1;
    $var2=2;
    $var3=3;
    ou

    1 variables tableau :
    Code :
    1
    2
    3
    $var[1]=1;
    $var[2]=2;
    $var[3]=3;

  6. #106
    Membre confirmé
    Homme Profil pro Cédric Girard
    Développeur Web
    Inscrit en
    mai 2002
    Messages
    299
    Détails du profil
    Informations personnelles :
    Nom : Homme Cédric Girard
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : mai 2002
    Messages : 299
    Points : 268
    Points
    268

    Par défaut

    Qu'est ce qui te pousse à nous faire aveuglement confiance, alors que tu peux facilement tester?

  7. #107
    Membre régulier Avatar de zamanika
    Inscrit en
    novembre 2003
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : novembre 2003
    Messages : 106
    Points : 92
    Points
    92

    Par défaut

    euh... ben comment ???

  8. #108
    Membre confirmé
    Homme Profil pro Cédric Girard
    Développeur Web
    Inscrit en
    mai 2002
    Messages
    299
    Détails du profil
    Informations personnelles :
    Nom : Homme Cédric Girard
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : mai 2002
    Messages : 299
    Points : 268
    Points
    268

    Par défaut

    Classiquement
    - note l'heure
    - execute 1000 fois le script
    - calcule heure-heure notée

    Par exemple
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function getmicrotime()
            {
            list($usec, $sec) = explode(" ", microtime());
            return ((float)$usec + (float)$sec);
            }
     
    $time = getmicrotime();
    for($ct=0; $ct<1000; $ct++) mafunctionatester();
    echo getmicrotime()-$time;
    Tu as ainsi le nombre (non entier) de secondes entre le début et la fin.
    Tu fais ça pour les deux versions (pour un script très simple, passe à 10000) et tu compare. Retente plusieurs fois, évite d'encoder un divx en même temps, histoire que le multitache ne brouille pas tout.

    vlavlavla
    Cédric

  9. #109
    Membre régulier Avatar de zamanika
    Inscrit en
    novembre 2003
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : novembre 2003
    Messages : 106
    Points : 92
    Points
    92

    Par défaut

    J'ignorai l'existence de cette fonction ( ).

    Je croyais que les benchs de ce topic étaient faits par des logiciels spéciaux (quoique, en y reflechissant bien, avec le bench en ligne de iubito, j'aurai du me douter qu'il y avait du php derrière tout ça)

    En tout cas, voilà une fonction qui va m'enlever bien des doutes !!!!
    J'essaye demain et vous dis pour les $var et $var[] !

    Merci

  10. #110
    Membre régulier Avatar de zamanika
    Inscrit en
    novembre 2003
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : novembre 2003
    Messages : 106
    Points : 92
    Points
    92

    Par défaut

    alors je viens de tester, mais comme c'est la première fois que je fais se genre de chose, j'aimerai savoir si j'ai procédé correctement :

    J'ai repris le script ci-dessus et j'ai fais :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
    function getmicrotime()
            {
            list($usec, $sec) = explode(" ", microtime());
            return ((float)$usec + (float)$sec);
            }
     
    $time = getmicrotime();
    for($ct=0; $ct<100000; $ct++) {
    $var0=5;
    $var1=5;
    $var2=5;
    $var3=5;
    $var4=5;
    }
    echo getmicrotime()-$time;
    ?>
    resultat sur plusieurs essaies : entre 0.29 et 0.33

    puis

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    function getmicrotime()
            {
            list($usec, $sec) = explode(" ", microtime());
            return ((float)$usec + (float)$sec);
            }
     
    $time = getmicrotime();
    for($ct=0; $ct<100000; $ct++) {
     
    $var[0]=5;
    $var[1]=5;
    $var[2]=5;
    $var[3]=5;
    $var[4]=5;
     
    }
    echo getmicrotime()-$time;
    ?>
    resultat sur plusieurs essaies : entre 0.34 et 0.36

    SI j'ai tout compris, le résultat c'est que c'est plus rapide de stocker des valeurs dans des variables que dans des tableaux. J'ai juste, ou je suis complétement à coté de la plaque ???

  11. #111
    Membre confirmé
    Homme Profil pro Cédric Girard
    Développeur Web
    Inscrit en
    mai 2002
    Messages
    299
    Détails du profil
    Informations personnelles :
    Nom : Homme Cédric Girard
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : mai 2002
    Messages : 299
    Points : 268
    Points
    268

    Par défaut

    Tout bon!
    Toutefois, si un tableau te permet de gérer plus simplement les données, je pense qu'il ne faut pas hésiter à l'utiliser. Les gros gains se font sur les algorithmes plus que sur les astuces.
    En plus pour un logiciel serveur (comme un site web) il faut prendre en compte l'utilisation mémoire, mais je n'y ai pas encore touché et je te laisse ça en exercice ;-)
    Bonne nuit

  12. #112
    Membre chevronné
    Avatar de iubito
    Homme Profil pro Sylvain Machefert
    Développeur Java
    Inscrit en
    janvier 2003
    Messages
    387
    Détails du profil
    Informations personnelles :
    Nom : Homme Sylvain Machefert
    Âge : 32
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2003
    Messages : 387
    Points : 624
    Points
    624

    Par défaut

    un tableau va prendre légèrement plus de mémoire, mais si tu as besoin d'un tableau, utilise un tableau.

    Maintenant si tu veux juste 3 variables temporaires $tmp1, $tmp2, $tmp3 n'utilise pas un tableau.

    Par contre si tu veux une liste que tu peux trier, rechercher... bein c'est les tableaux qui s'imposent
    Lé SMS cé kom lé ognon, sa pike lé yeu

  13. #113
    Membre régulier Avatar de zamanika
    Inscrit en
    novembre 2003
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : novembre 2003
    Messages : 106
    Points : 92
    Points
    92

    Par défaut

    Merci pour vos lumières !

  14. #114
    Membre régulier
    Inscrit en
    octobre 2003
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : octobre 2003
    Messages : 66
    Points : 80
    Points
    80

    Par défaut

    Salut,

    à votre avis il vaut mieux faire :

    Code :
    if(isset($tab[$indice])) ...
    ou bien
    Code :
    if(array_key_exists($indice, $tab)) ...
    :

  15. #115
    Inscrit
    Avatar de Caerbannog
    Inscrit en
    novembre 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : novembre 2004
    Messages : 206
    Points : 270
    Points
    270

    Par défaut

    J'en sais rien...

    Mais j'ai une question : comment on est censé présenter le code (que faite vous, vous ?) ?

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?
    function maFonction() {
         instructions
    }
    ou
    function maFonction()
    {
         instructions
    }
    ou
    function maFonction()
         {
         instructions
         }
     
    ou autre chose ?
    pareil pour les if, switch, etc...

  16. #116
    Expert Confirmé Sénior
    Avatar de Swoög
    Inscrit en
    janvier 2003
    Messages
    6 046
    Détails du profil
    Informations personnelles :
    Âge : 27

    Informations forums :
    Inscription : janvier 2003
    Messages : 6 046
    Points : 8 763
    Points
    8 763

    Par défaut

    Salut !

    à ce niveau, c'est de la présentation, chacun fait comme il veut, pour ma part, c'est la première ou seconde façon, mais si dans le cas d'un if par exemple, l'expression est trop complexe, il arrive aussi que je la décompose en plusieurs lignes...

    Je ne pense pas que ça ais d'incidence notable au niveau des performances.

  17. #117
    Inscrit
    Avatar de Caerbannog
    Inscrit en
    novembre 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : novembre 2004
    Messages : 206
    Points : 270
    Points
    270

    Par défaut

    Ouais ça change rien por les performances (ce sont des "Caractères blancs", comme les sauts de ligne ), mais c'était pour savoir ce que vous trouvez "joli"... Moi c'est la 2 (je trouve la 1 "désaxée" ).

  18. #118
    Membre confirmé
    Homme Profil pro Cédric Girard
    Développeur Web
    Inscrit en
    mai 2002
    Messages
    299
    Détails du profil
    Informations personnelles :
    Nom : Homme Cédric Girard
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : mai 2002
    Messages : 299
    Points : 268
    Points
    268

    Par défaut

    et moi la 3, mais bon les gouts et les couleurs...

  19. #119
    Membre chevronné
    Avatar de iubito
    Homme Profil pro Sylvain Machefert
    Développeur Java
    Inscrit en
    janvier 2003
    Messages
    387
    Détails du profil
    Informations personnelles :
    Nom : Homme Sylvain Machefert
    Âge : 32
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2003
    Messages : 387
    Points : 624
    Points
    624

    Par défaut

    moi c'est la 2. De toute façon aucune incidence.
    Lé SMS cé kom lé ognon, sa pike lé yeu

  20. #120
    Membre chevronné
    Avatar de Kioob
    Profil pro Olivier Bonvalet
    Inscrit en
    septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Nom : Olivier Bonvalet
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : septembre 2004
    Messages : 550
    Points : 761
    Points
    761

    Par défaut

    ça, ça m'a toujours posé problème j'ai pris l'habitude d'indenté "à ma sauce", et j'avoue avoir du mal à en démordre...

    ça donne :
    Code :
    1
    2
    3
    4
    <?php
    function maFonction() {
         instructions
        }
    C'est à dire un mélange de la (1) et la (3).

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •