Mon prog bouffe de la memoire

cs_philcam Messages postés 132 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 17 octobre 2008 - 26 août 2006 à 13:25
cs_philcam Messages postés 132 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 17 octobre 2008 - 27 août 2006 à 03:47
Salut à ceux qui liront,

je débute tout juste en vb2005 (j'étais plus à l'aise sur vb6 :) , j'ai refait entierement un prog que j'avais en vb6 > en vb2005, j'ai fait "générer" et l'exe qui resulte fait 250ko
il n'y a pas de boucle bizarre dedans et pourtant quand je vais dans le gestionnaire des tâches il met que mon prog utilise 20 000 ko de memoire (??) blurps

y'a t'il une raison que je ne connais pas ?

thanks

34 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
26 août 2006 à 13:40
Salut,

Suivant la nature de ton prog, 20 000Ko ne me choque pas.
Ce qui compte, c'est que lors de l'exécution de celui-ci, il soit rapide.

As-tu une grande différence avec ton fichier version vb6 ?

++
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
26 août 2006 à 13:44
Le plus important c'est qu'elle n'augmente pas constamment en cours de fonctionnement, ça traduirait une fuite de mémoire. Si elle est stable, c'est pas vraiment choquant, tout dépend de ce que fait ton programme en fait.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
cs_philcam Messages postés 132 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 17 octobre 2008
26 août 2006 à 13:45
oui celui en vb6 prenait 4600ko


ce qui m'étonne c'est que je n'ai mis aucune routine qui tourne en tache de fond, le programme à l'arrêt est à 20000


ça m'embête un peu qd même
0
cs_philcam Messages postés 132 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 17 octobre 2008
26 août 2006 à 13:48
ben justement il ne fait pas grand chose, pour résumer y'a une listbox a droite, et des textxbox a gauche, qd on clique dans la list ça affiche des info dans les textbox, y'a vraiment pas de quoi prendre 20000k de mem, non ?

(la taille mem reste constante pour info)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
26 août 2006 à 13:53
N'oublie pas qu'en .net, il tourne sur le framework. Je ne sais pas si le framework est comptabilisé dans la mémoire de chaque exe, à priori j'aurais dis non. Mais comme il fait une vingtaine de Mo, ça correspondrait.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
26 août 2006 à 14:27
eh eh, engagez-vous qui disais !

Avec vb, un petit executable "hello world" prenait déjà pas mal de mémoire car il devait lancer la machine virtuelle vb pour marcher.

Maintenant, avec .net, il faut carrément lancer tout le framework pour que ca fonctionne ! De la même façon qu'un jar en Java, un exe vb.net prend peu de place sur le disque, mais énormément en mémoire !
C'est l'une des raisons qui m'ont poussé à ne pas migrer vers vb.net : déjà que je le trouve plus lent en exécution, il prend bien plus de ressources !

20 Mo me paraît être une taille "correcte" pour un exe vb.net 2005 ! Par contre, ce qui me paraît pas très correct, c'est cà : "20 000Ko ne me choque pas", 20 Mo, ca en fait des octets occupés en mémoire tout de même !
Enfin bon, je sais bien que .net c'est le futur... comme à l'époque du lancement d'ADO contre DAO ou DAO était plus rapide, et surtout bien moins gourmand en mémoire qu'ADO !
Les choses évoluent, les machines aussi, et nos habitudes de programmation doivent elles aussi évoluer. Mais quite à changer de langage et ainsi bouffer des ressources pour rien, autant passer à Java (n'est-ce pas BruNews ).
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
26 août 2006 à 14:37
salut,
un label sur une form en dotnet, sans code, çà ne fait pas dans les 9Mo??
il me semble.... 

<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
cs_philcam Messages postés 132 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 17 octobre 2008
26 août 2006 à 14:40
Oui, j'ai mis un moment avant de me lancer dans .net car en tant que débutant c'est encore plus dur de changer de façon de penser,( tient je remarque que vbexpress prend 100000k de mem, alors pourquoi s'affoler ?  )
on est un peu mené par le bout du nez par microsoft et la société de consommation, si ça se trouve des progs en vb6 ne tourneront plus dans quelques temps sur des futures plateformes, quand je vois que entre vb2003 et 2005 il y'a déjà des différences c'est pas très encourageant.
enfin bref !

merci pour vos réponses

@+
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
26 août 2006 à 14:50
sans lancer encore un débat... la seule raison pour laquelle je ne soutiens pas DarkSidious est que Java ne tourne pas ou très mal sur mon PC. mais c'est évident, on ne peut pas avoir confiance en un prog de dev (voire OS ) qui change tous les 2ans et qui est incompatible avec sa précédente version...

<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
26 août 2006 à 14:51
conclusion quand même : beh c'est normal
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
26 août 2006 à 15:17
Eh eh, Java prend petit à petit un peu plus d'ampleur, et gagne en rapidité.
Le seul truc, c'est qu'il est si facile de coder avec les pieds avec VB que lorsqu'on passe à Java, on fait très vite du code qui marche lentement ! (par exemple, en java, il faut créer un thread pour chaque création de fenêtre, ou pour chaque événement de contrôles pour éviter de bloquer inutilement le thread principal), heureusement tout de même que Java facilite énormément les choses !

Mais pour revenir au petit débat : évoluer ou pas en .net, perso, le choix a été vite fait : en java, il garde la compatibilité avec les anciennes versions, et ce, depuis le début ! (ca en fait des années !). Du coup, le JDK se retrouve avec pas mal de fonctions "dépréciées", mais au moins, les progs développés il y a 10 ans tournent toujours aussi bien, contrairement aux progs développés avec VB par exemple !

Java est lent, et bouffe pleins de ressources, certes, mais .net, c'est guère mieux je trouve ! Je sais bien que j'ai aucune chance de devenir MVP en disant cà, mais quitte à changer de langage de prog, pourquoi investir du temps à apprendre un langage qui de toute façon changera très certainement d'ici la prochaine version de windows ? (je parle pas de longhorn "vista" bien sûr puisque .net 2 (et 3) est fait pour lui, mais du prochain vienna).

Sur ce, je vous laisse méditer
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
26 août 2006 à 15:30
C
tout vu
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
26 août 2006 à 15:54
Humm je rajoute ma sauce :

je n'ai pas dit " 20 000Ko ne me choque pas." mais
Suivant la nature de ton prog, 20 000Ko ne me choque pas.
C'est beaucoup, mais pas choquant

Je connais des progs en vb6 qui en utilisent autant !

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
26 août 2006 à 16:00
Lol, oui sauf qu'en vb6 il faut un sacré prog (s'il ne contient pas d'images !) pour atteindre les 20 Mo de mémoire (bien que je travaille sur un logiciel qui les atteint actuellement).

Ce qui m'a choqué moi, c'est le "c'est pas choquant" !
Il y a 5-6 ans de cà, 20 Mo de mémoire vive pour un prog, c'était quasi-insensé !
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
26 août 2006 à 16:09
"Il y a 5-6 ans de cà, 20 Mo de mémoire vive pour un prog, c'était quasi-insensé ! "
lol
ça me rappelle le blog avec les caractéristiques du premier PC

"il faut un sacré prog (s'il ne contient pas d'images !) pour atteindre les 20 Mo de mémoire"
C'est vrai, quelques animations, des images et l'appli prend tout de suite de l'ampleur !
Je suis surtout resté sur le fait que c'était faisable, mais effectivement rare (surtout pour des texbox et listbox)

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
Sicyons Messages postés 25 Date d'inscription jeudi 21 octobre 2004 Statut Membre Dernière intervention 31 août 2006
26 août 2006 à 16:20
Salut à tous !

Pas vraiment d'accord avec ce qui s'est dit plus haut. Je ne suis pas un expert, mais je développe depuis environ 20 ans en amateur et 2 ans en professionnel. J'ai connu de multiples plateformes (Oric Atmos, Amiga divers et variés, et PC). Quant aux languages, de l'assembleur 68000 à .NET, j'ai navigué (divers BASIC, C, C++, PhP, Actionscript, Javascript, VBScript, etc...).
loin de moi l'idée de vouloir me vanter (j'aurai toujours des milliers de choses à apprendre et c'est tant mieux), mais c'est simplement pour dire que je ne suis plus un simple débutant.

Et bien pour la première fois je rencontre un language et son environnement de développement qui me comble (presque) totalement.

Alors oui, .NET est gourmand en mémoire, mais c'est son seul vrai défaut. Faudrait pas oublier ses qualités :
- Vitesse d'exécution exceptionnelle (j'ai même créé un prog d'affichage de cartes vectorielles à partir de données AutoCAD, et ça ne rame pas, même avec + de 65000 vecteurs !)
- Vrais languages orientés objet.
- Stabilité : Quand ça plante, c'est la faute du développeur.
- Clarté et cohérence de la conception : namespaces évidents facilitant la recherche des fonctionnalités, pertinence des classes proposées.
- Puissance de la gestion des erreurs : avec les aides et les exceptions, difficile de ne pas trouver l'origine des erreurs.
- Interopérabilité des languages : .NET c'est une plateforme, pas un seul language (VB).
- Gestion automatisée de la mémoire avec le Garbage Collector. Quand on a connu le C++ ou l'assembleur, c'est un bonheur.
- Diverses fonctionalités TRES évoluées comme la facilité de création (et de déploiement) des controles utilisateurs, le déploiement des applications elles-mêmes, la gestion du versionning, le multithreading à la portée de tous, les communications réseau, etc...

Bref, vous l'aurez compris, j'adore ! La mémoire est un réel problème, et c'est tout ce qui peut encore à mes yeux pousser quelqu'un à préférer C++ (avec la puissance absolue à l'exécution). C'est le prix à payer pour le reste, et je trouve ça en fait assez peu cher payé. Pour info, chez moi, ton prog ne prend "que" 15 mo.

Voilà mon avis, je trouve un peu facile et gratuit de descendre si facilement ce qui est une réelle évolution et pas seulement un gadget commercial.

Quant à JAVA, j'ai essayé et franchement, ça m'a gonflé ! Je n'aime ni la syntaxe, ni la philosophie générale. Faudrait peut-être que je persévère...
0
Sicyons Messages postés 25 Date d'inscription jeudi 21 octobre 2004 Statut Membre Dernière intervention 31 août 2006
26 août 2006 à 16:21
Désolé pour l'absence de formattage : ça ne marche pas pour moi.
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
26 août 2006 à 16:31
"ses qualités : - Vitesse d'exécution exceptionnelle"

Tu es un des rares à le trouvé rapide, mais au fait quel langage ?

Je peux que en gros 80% des personnes avec qui j'ai pu discuter de VB.NET (aussi bien 2003 que 2005), trouvent les programmes créés avec ces langages nettement moins rapide qu'en VB6. C'est un constat assez général que l'on trouve sur de nombreux forum.

Pour le reste, je résumerais en disant heureusement que c'est une évolution sinon à quoi ça servirait de faire une nouvelle version tout les 2 ans.
Mais comme toute évolution, elle faut qu'elle réponde à un besoin réel pour etre justifiée. Dans le cas présent, j'ai l'impression que Microsoft veut nous imposé l'outil dans l'espoir que le besoin naitra de l'utilisation de l'outil.
VB6 a encore quelques beaux jours devant lui.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
cs_philcam Messages postés 132 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 17 octobre 2008
26 août 2006 à 16:46
ce qui m'embêtait juste au départ c'est ces 20mo, car je vais mettre ce prog en freeware et je pense aux utilisateurs qui ont des petites config pc, et qui ne voudront pas télécharger le framework 2.0 car ils sont en modem 56k
bah tant pis pour eux
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
26 août 2006 à 16:58
Non je dirais pas que vb6 a de beaux jours devant lui (loin de là même) car les entreprises migrent à .net petit à petit.
C'est un constat : microsoft est leader sur le marché des OS, et hormis .net, bientôt, y'aura plus énormément de concurrents sérieux pour faire du développement rapide pour windows (borland vendant delphi).
Du coup, ils sont libres d'imposer ce qu'ils veulent : Sun ayant un train de retard niveau performance avec Java (bien qu'ils rattrapent petit à petit leur retard au fil des versions).

Mais ce qui est bien avec Java, c'est l'esprit Open Source : on trouve beaucoup de source sur le net en Java qui sont d'un excellent niveau (comparé au niveau des sources de vb qu'on trouve partout, ca prête à sourire) !
De plus, Sun travaille plus pour leurs clients que pour eux, comparé à M$ dont le but est de sortir des versions extrêmement chères tout les 2-3 ans, et pousser leurs clients à racheter une version. Sun au moins, il te donne l'IDE ! Ils te le vendent pas 1500 ? ! (bien qu'il soit bien moins complet, netbeans n'a pas à rougir face à visual studio pour le confort de développement). Et puis il existe beaucoup d'outils open source qui t'aident à programmer, beaucoup de librairies gratuites.
0
Rejoignez-nous