Accueil > Forum > > > > array et mémoire
array et mémoire
vendredi 10 avril 2009 à 10:46:24 |
array et mémoire

Larwin
|
Bonjour à toutes et à tous. J'ai un gros problème de mémoire sur IE avec des tableaux. Je m'explique dans ces quelques lignes qui font exploser la mémoire du navigateur alors que cela n'est pas si violent avec firefox, chrome , opéra ou que sais je... // -------------------- var x; items = new Array(); for (x=0; x<10000; x++){ items.push({data : {name : {value : '', extvalue : ''}, surname : {value : '', extvalue : ''}, age : {value : '', extvalue : ''}, cp : {value : '', extvalue : ''}, ville : {value : '', extvalue : ''}, pays : {value : '', extvalue : ''}}}); } ... je peux faire le même test avec un truc du genre for (x=0; x<10000; x++){ items.push(new Array); items[x]['name'] = {value : '', extValue : ''}; items[x]['surname'] = {value : '', extValue : ''}; items[x]['age'] = {value : '', extValue : ''}; ... etc... } le résultat est toujours le même et sans appel : explosion de la mémoire d'IE dans le gestionnaires des taches. genre +60Mo pour l'exemple quand sur chrome seulement +2 à +3Mo et ff pareil. j'ai besoin de gros tableaux a plusieurs dimensions et d'utiliser des tableaux associatifs... Merci de votre aide
|
|
vendredi 10 avril 2009 à 11:15:48 |
Re : array et mémoire

Bul3
|
Bonjour, bah... avec var x; items = new Array(); for (x=0; x< 100000; x++) { window.status=x; items.push ( { data : { name : {value : '', extvalue : ''}, surname : {value : '', extvalue : ''}, age : {value : '', extvalue : ''}, cp : {value : '', extvalue : ''}, ville : {value : '', extvalue : ''}, pays : {value : '', extvalue : ''} } } ); } aucune explosion ( IE ou les autres ) t'es sûr de ne faire que cela dans ta boucle ? ( si tu touchais à body.innerHTML par exemple on comprendrait ) et si c'est du à ce genre de choses, que tu ne peux pas éviter : fait une boucle avec setTimeout. Cordialement [ mon Site] [ M'écrire]  Bul
|
|
vendredi 10 avril 2009 à 11:17:10 |
Re : array et mémoire

Bul3
|
et... t'es sûr qu'initialiser ce tableau est nécessaire ?
|
|
vendredi 10 avril 2009 à 11:31:29 |
Re : array et mémoire

Larwin
|
en fait oui je ne fait que ca... me suis même fait un autre fichier .html avec tout le code a l'interieur. et ca explose clairement je suis sous vista intégrale ie7 et toi Bul3 ?
|
|
vendredi 10 avril 2009 à 11:38:51 |
Re : array et mémoire

Larwin
|
le code : items = new Array(); alert('starting'); var z = new Date().valueOf(); var x; items = new Array(); for (x=0; x<100000; x++) { window.status=x; items.push ( { data : { name : {value : '', extvalue : ''}, surname : {value : '', extvalue : ''}, age : {value : '', extvalue : ''}, cp : {value : '', extvalue : ''}, ville : {value : '', extvalue : ''}, pays : {value : '', extvalue : ''} } } ); } var y = new Date().valueOf(); alert(y-z + 'ms'); ma mémoire d'IE explose avec ces 100000 à 581Mo pour le processus...
|
|
vendredi 10 avril 2009 à 11:42:36 |
Re : array et mémoire

Bul3
|
IE8+windows XP (sp2) mais bon, à ce niveau ie7+vista ce doit être pareil testé avec safari, chrome, FF[3], opera, k-meleon... pas de souci non plus je disais aussi : t'es sûr qu'initialiser ce tableau est réellement nécessaire ?? à priori, je ne vois pas pourquoi.
|
|
vendredi 10 avril 2009 à 11:51:59 |
Re : array et mémoire

Larwin
|
oui en fait je refais la listview windows en javascript.
donc j'ai besoin de stocker des données qui seront envoyé par un serveur
evidemment y'aura pas 100000 rows mais j'aime les tests un peu excessifs.
je conserverais donc le donnée dans un tableau et les afficherai a la demande dans la listview qui aura un nombre de d'objet dom limité.
je joue sur la mise a jour des données dans le controle a la volé en utilisant ce tableau.
je vais essayer sur un autre poste, et puis tenter avec ie8.
merci de ta réponse bul3
|
|
vendredi 10 avril 2009 à 15:07:19 |
Re : array et mémoire

Larwin
|
le problème reste le même sur ie8, l'utilisation de la mémoire est excessive.
Près de 500 Mo pour l'exemple... :(
j'ai aussi testé sur un autre poste avec la même config ie7 et vista, même problème. Je vais faire un nouveau test avec XP...
En attendant si quelqu'un a une autre idée, il est le bienvenu !
Merci
|
|
vendredi 10 avril 2009 à 15:09:12 |
Re : array et mémoire

PetoleTeam
|
Bonjour, ATTENTION mettre window.status = x; est très gourmant en temps
Concernant la créatin, je te propose une autre approche pour ne pas avoir à créer à chaque itération un objet, on en crée un global exemple //------------- function Data(){ this.value = ''; this.extvalue = ''; } //-------------- function Enreg(){ this.data = new Object; this.data.name = new Data(); this.data.surname = new Data(); this.data.age = new Data(); this.data.cp = new Data(); this.data.ville = new Data(); this.data.pays = new Data(); } entre nous le data est peut être de trop, mais bon...
ta boucle devient //-- Lancement creation var x; var z = new Date().valueOf(); var items = new Array(); // le tableau var Objet = new Enreg(); // Creation de l'objet for (x = 0; x < 100000; x++) { items.push( Objet); } //-- Fin creation var y = new Date().valueOf(); alert(y - z + 'ms'); Je terminerai en disant qu'en faisant items[x] = Objet; à la place de items.push( Objet); tu grattes encore un peu... A toi de voir le gain... ;O)
|
|
vendredi 10 avril 2009 à 15:19:39 |
Re : array et mémoire

Larwin
|
je concède que le data est de trop dans l'exemple :)
mais je fais ce test car dans ton exemple la "class" Enreg aura certainement d'autre données du type this.isVisible, this.isOver ...etc. et il se peut qu'il arrive qu'il y ai un this.name a ne pas confondre avec un this.data.name, dans l'exemple.
Je test le code, merci PetoleTeam, mais il me semble que je suis aussi deja allé dans cette direction aussi de mon coté sans succès...
|
|
Cette discussion est classée dans : array, mémoire, value, items, extvalue
Répondre à ce message
Sujets en rapport avec ce message
editeur menu [ par rosalin83 ]
bonsoir,je vx creer un editeur de menu avec javascript voilà ce que j'ai fait mais j'ai trouvé des dificultés au niveau de l'etape suivante plus préci
récuperer une donnée de formulaire [ par marcozambezi ]
bonjour,j'ai un formulaire qui convertit des km/L en L/100km... et réciproquement.Je souhaite laisser le choix du nombre de décimales.. J'arrive très
problème modification javascript [ par yazworld ]
Bonsoir à tous, Depuis un moment je travail sur une application de base de données qui dispose d'un module permettant un interfaçage web. Cette int
Quelqu'un voit il un probleme ???? [ par Tupac59 ]
if(document.choix.tel.value!='') { if(document.choix.tel.value.length==10) { if(document.choix.contact_name.value!=
Trier tableau généré en js [ par way2web ]
Bonjour,j'ai créé un script me permettant de générer un tableau html à partir de données stockées dans un array à 2 dimensions. L'affichage est correc
Limiter Caractères Textarea [ par piep14 ]
Bonjour tout le monde, je cherche a limiter le nombre de caractères dans un textarea. J'ai trouvé cette fonction que j'utilise sous FF très bien et je
pb dans code: marche pas [ par nanonerie ]
nanonerie calcul
Addition de 2 champ txt [ par wacha ]
Bonjour,Cette question peut paraitre assez simple pour vous mais je ne connais pas du tout le javascript.voila mon probleme :J'ai deux champs texte et
Contrôle de formulaire [ par typher ]
Bonjour,Alors voila j'ai un petit problème avec mon code javascript qui suit :Code Java :if(document.form.naissance.value !=""<
Probleme de liste deroulante avec plusieurs infos [ par kprlao ]
salut.J'ai un petit soucis sur ma mise à jour de ma liste déroulante, alors je demande à l'aide.lol.Le popup que j'ouvre à plusieurs données de type c
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Forum
UTILISER UN .JSUTILISER UN .JS par zaikoe
Cliquez pour lire la suite par zaikoe
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|