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

Delphi Discussion :

[InstantObjects][ECO] Dégradation des performances


Sujet :

Delphi

  1. #1
    Membre Expert

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Par défaut [InstantObjects][ECO] Dégradation des performances
    L'utilisation des InstantObjects permet de gagner un temps incroyable pour le développement d'applications orientés bases de données.
    La contre partie et non des moindres, c'est la dégradation importante des performances de l'applicatif utilisant ce principe dès que l'on manipule des tables moyennes.
    Une table comportant moins de 10000 enregistrements peut mettre de nombreuses minutes à se charger en utilisant un TInstantSelector.

    J'aimerai connaître parmis les personnes utilisant ces TInstantObjects, comment vous avez réussi à contourner ce problème ?

    Par ailleurs, ne connaissant pas ECO, rencontre-t-on les mêmes problèmes de dégradation des performances ?

    Par avance merci, pour vos avis éclairés.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 001
    Par défaut
    je ne connais pas le modèle ECO, mais c'est de la Persistance d'Objet en BD, c'est un classique

    Dans mon actuelle entreprise, il y avait une couche de persistance, et le premier problème avec les collections, c'est que tu lance la requête, et comme un con, ça créait les 10 000 objets d'un coup, résultat, performance misérables ... imagine les grilles ...

    J'ai donc dès que j'ai vu cette abhération, j'ai proposé une nouvelle version de la couche, et c'est tout con, il suffit de lancer la requête, et de ne créer les instances qu'à la demande d'accès d'un objet ... j'ai même prévu un parcours comme une collection ou comme un dataset ... j'ai prévu aussi plusieurs mode de fonctionnement de LazyLoading, en gros, le mieux c'est de toujours repoussé les traitements le plus tard possible ... vraiement quand on peut plus faire autrement ... et pour le moment, mon code comporte bcp de cadavre suite à plusieurs révisions de fonctionnement

    je te conseille d'étudier les Options de Load ...


    EDIT : Déjà, j'ai survolé le code, cela utilise le flux de composant, ce qui permet une souplesse pour l'abstraction de la DB, et encore, rien que ça déjà, moi j'utilise massivement le DataSet et le RTTI (plein de pointeur qui doivent être en warning en .NEt), et j'ai des court-circuit pour utiliser des flux DFM (que je dois finir pour intégrer du XSL et XML, mais ça faut que mon boss est le budget), mais déjà le flux c'est long car il faut génére le flux, puis le lire, tu as déjà une indirection ... ensuite, vu le code, c'est ce indirection qui sépare trop l'Objet et la DB qui ralenti le parcours d'une collection, ...

    EDIT 2 : Je vois plein de fontion RTTI, mais pour le RAD... pas pour l'objet en rintime
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Dégradation des performances Après mis en place du réplication
    Par Boubou2020 dans le forum Réplications
    Réponses: 1
    Dernier message: 28/01/2015, 16h25
  2. [MySQL-5.6] Dégradation des performances 5.5 à 5.6
    Par Snyper dans le forum Administration
    Réponses: 0
    Dernier message: 22/04/2014, 18h24
  3. Sybase ASE, dégradation des performances
    Par ram-0000 dans le forum Adaptive Server Enterprise
    Réponses: 3
    Dernier message: 22/09/2013, 18h14
  4. Dégradation des performances avec la quantité de données chargées
    Par matdev62 dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 06/01/2011, 14h56
  5. [MySQL] Dégradation des Performances
    Par Garra dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 06/03/2007, 09h36

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