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

JavaScript Discussion :

gestion mémoire string


Sujet :

JavaScript

  1. #1
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 482
    Points : 3 114
    Points
    3 114
    Par défaut gestion mémoire string
    Bonjour,

    Dans une procédure , j'utilise intensivement des concaténations de chaînes pour composer un gros bloc html et je me demande si ça ne plombe pas un peu les perfs.

    Quelqu'un saurait-il m'expliquer comment est gérée la mémoire dans le cas de cette utilisation ?

    Papy !

  2. #2
    Membre averti Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Points : 400
    Points
    400
    Par défaut
    Salut,

    Peut être un début de réponse (en Anglais)

    http://www.yafla.com/dforbes/String_..._Spidermonkey/

  3. #3
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 482
    Points : 3 114
    Points
    3 114
    Par défaut
    Mon code n'est destiné qu'à IE7+ ... Il semble que les perfs en prennent un sacré coup sur ce navigateur ...

    Maintenant, quelles solution y apporter, je ne vois pas trop ...

  4. #4
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 482
    Points : 3 114
    Points
    3 114
    Par défaut
    après quelques recherches, il semble que la majorité préconise l'usage d'un tableau et de faire un join à la fin pour obtenir le résultat.

    Un autre lien sur le sujet

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Points : 496
    Points
    496
    Par défaut
    Citation Envoyé par Papy214 Voir le message
    après quelques recherches, il semble que la majorité préconise l'usage d'un tableau et de faire un join à la fin pour obtenir le résultat.

    Un autre lien sur le sujet
    je confirme j'ai déjà fait mes propres tests
    et faire += consomme car à chaque fois tu réinstancie une nouvelle "string"
    alors que quand tu push tout dans un tableau à chaque fois et à la fin tu fais un join c'est 10x plus rapide.

    Et surtout il faut éviter de faire à chaque fois :
    monElement.innerHTML+=chaine;
    sinon à chaque fois tu fais appelles au DOM et donc le navigateur cherche à rafraichir.

    Tu fais tout ton traitement avant et met à jour le innerHTML en tout dernier.

    Donc pour résumer :

    création de la chaine en mettant tous les morceaux dans un tableau
    puis à la fin : element.innerHTML = theArray.join('');

    Voila

  6. #6
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 482
    Points : 3 114
    Points
    3 114
    Par défaut
    c'est ce que j'ai finis par faire

    merci

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

Discussions similaires

  1. Thread POSIX et gestion mémoire
    Par pier* dans le forum POSIX
    Réponses: 1
    Dernier message: 07/07/2006, 21h36
  2. TAO, Value types et gestion mémoire
    Par TiChabin972 dans le forum CORBA
    Réponses: 1
    Dernier message: 25/04/2006, 20h55
  3. [D7] Tableau dynamique et Gestion mémoire
    Par Cl@udius dans le forum Langage
    Réponses: 7
    Dernier message: 13/03/2006, 15h16
  4. [Gestion mémoire] SetLength sur TDoubleDynArray
    Par MD Software dans le forum Langage
    Réponses: 14
    Dernier message: 24/04/2005, 21h11
  5. Gestion mémoire des Meshes (LPD3DXMESH)
    Par [Hideki] dans le forum DirectX
    Réponses: 1
    Dernier message: 08/07/2003, 20h34

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