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

Langages de programmation Discussion :

Paradigme impératif/procédural plus rapide que l'OO?


Sujet :

Langages de programmation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Billets dans le blog
    1
    Par défaut Paradigme impératif/procédural plus rapide que l'OO?
    Bonjour à tous,

    Je travaille actuellement sur un jeu de rôle où l'optimisation de la vitesse d'exécution est une des priorités.
    N'ayant rien trouver à ce sujet après plusieurs recherches, je pose la question suivante :
    Peut on dire que le paradigme impératif (+procédural) génère des programmes plus rapides que des homologues orienté objet?
    Je précise que pour ce projet, le choix du PHP a été fait (Bien que Java me semblerait plus adapté mais là n'est pas le débat )
    Je vous remercie d'avance pour l'attention que vous porterez à ce message.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    bonjour



    Il y a d'innombrables posts sur ce sujet...

    A priori il n'y a pas de différences de vitesse dans un paradigme plutôt que dans un autre...

    Dans une implémentation vis-à-vis d'une autre, oui, dans un langage compilé par rapport à un non-compilé, oui..


    Le seul élément du "paradigme" objet qui peut ralentir est le "new", qui impose allocation mémoire et initialisation au cas par cas, alors qu'en procédural (mais on peut également le faire en objet) on peut grouper en allouant une seule fois (par xemple un tableau).. et que l'on peut, si on le souhaite, éviter des initialisations quand on juge que ce n'est pas nécessaire...

  3. #3
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Billets dans le blog
    1
    Par défaut
    Je te remercie pour ta réponse.

    Au passage, j'ai précisé avoir fait plusieurs recherches avec notamment les mots clefs "paradigme", "rapidité", "vitesse", "orienté objet" et "impératif" et je n'ai eu aucun résultat pértinent .

    Un anonyme avance l'argument suivant pour soutenir le fait que la POO avec PHP a tendance à diminuer les performances :
    Tout d'abord, PHP, contrairement à Java ou C++, n'est pas un langage compilé, mais interprété. Ce qui veut dire qu'à chaque fois qu'on fait appel à un objet, PHP doit inclure la classe, la parcourir, la valider, la compiler en cache à la volée puis enfin créer l'objet.
    Qu'en pensez vous?

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    Java n'est pas compile non plus : son bytecode est interprete par la machine virtuelle. Mais il est vrai que certaines machines virtuelles specifiques compilent le code dynamiquement afin de rendre son execution plus rapide.

    Dans la plus grande majorite des cas, oui un programme ecrit dans un langage compile sera plus rapide que le meme programme ecrit dans un langage interprete.

    Si vous avez besoin de performances, pourquoi ne pas passer la partie critique en C ou en C++, et laisser le reste en php ?
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  5. #5
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Billets dans le blog
    1
    Par défaut
    Merci pour ces précisions.

    A vrai dire, la question est plutôt "Doit on limiter la présence de l'OO au minimum dans notre jeu PHP pour augmenter ses performances?"

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    combien de fois faut-il répéter ??

    Ce n'est pas "limiter l'OO", qui ne veut rien dire, ce serait plutôt "limiter la partie en langage interprété" ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème de boucle plus rapide que le resultat de la procédure ?
    Par Night_Wolf1619 dans le forum Débuter
    Réponses: 9
    Dernier message: 14/03/2013, 23h51
  2. Réponses: 11
    Dernier message: 10/09/2012, 04h08
  3. Batch T-SQL plus rapide que procédure stockée
    Par dens19 dans le forum Développement
    Réponses: 3
    Dernier message: 15/01/2010, 10h49
  4. [VB6] timer plus rapide que 1 d'interval
    Par windob dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 24/02/2004, 00h16
  5. Réponses: 8
    Dernier message: 31/10/2003, 16h21

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