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

C# Discussion :

Optimisation mémoire application


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 166
    Points : 84
    Points
    84
    Par défaut Optimisation mémoire application
    Bonsoir

    J'ai une application qui gère une base de données SQLite, elle affiche le résultat des requêtes dans un DGV, via binding, rien d'extraordinaire

    1ère interrogation, justement avec une application basique comme celle-là, lorsque je fais une recherche et affiche 60 résultats, l'utilisation en mémoire est de 45 Mo ! Je trouve çà énorme par rapport à thunderbird par exemple qui utilise que 30 Mo

    2ème remarque, lorsque je déplace la fenêtre de mon application le processeur monte presque à 100% d'utilisation alors que Firefox par exemple ne monte qu'à 35%, même en "jouant" avec la fenêtre pendant plusieurs secondes (bon je sais 100%, je n'ai pas un processeur top new generation, mais bon il me convient pour l'instant, et en plus le PC final sur lequel doit tourner l'application est encore plus vite satellisé)

    merci pour vos réponses

    @++

    KaloOopS

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    KaloOopS
    Bonsoir,
    Malheureusement pour la mémoire, c'est le prix à payer pour du bytecode.
    C'est minimum 20/30Mo un process .Net, bon après ça se lisse c'est à dire qu'une application 100 fois plus riche que la tienne ne pèsera pas 100 fois plus... Elle s'approchera sans doute des 100 Mo
    Je pense que la grosse différence c'est le ticket d'entré minimum au niveau ram qui est gourmand "pour pas grand chose", mais après la différence s’amoindri

    Thunderbird c'est du code compilé (c++), donc c'est sur que c'est tout de suite moins gourmand comparativement...

    C'est un choix à faire, après 100Mo de nos jours c'est pu grand chose, ca fait plus de 10 ans que les cpu x86 64bit existent, que les bécanes ont au minimum 1 à 2 go de ram, que les machines récente ont 4 à 8 go.

    Dis toi que t'as de la chance avec du .Net, car avec du Java l'allocation est statique, boum par defaut tu te retrouve avec 256 Mo alloué "sans comprendre pourquoi" (et pas un de plus ! hahah et la tu viendra raller en me disant... je comprend pas je rajoute des barrettes de ram et mon application crash en me demandant toujours plus de mémoire....)


    par contre pour le 100% du CPU, ça me parait étrange... je peux pas l'expliquer
    Par hasard tu fais rien de spécial sur les événements Mouse drag & drop & Co ?

  3. #3
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    C'est surtout que les applis .Net s'allouent dès leur lancement une certaine quantité de mémoire; mieux vaut dire une fois à l'OS "file moi 30 megs" plutôt que 300 fois "file moi 100K". De même, elles ne rendent pas la mémoire tout de suite, et si elles le font, c'est par gros paquets.
    ಠ_ಠ

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    Guulh
    Ouaip ca peut se voir clairement "comme une optimisation",
    Ca sert à rien de la ram vide de toute façon c'est du gachi


    Par contre sur des stations type Citrix, avec plusieurs sessions ouvertes, une ptite appli qui se lance sur toute les sessions, même de 50 Mo ça peut faire mal (je peux comprendre que les admin ne soient pas très content)

    Bon en règle générale .Net n'est clairement pas tourné "utilisation minimum de mémoire", par exemple les DLL se chargent unitairement par processus/AppDomain...
    Mais bon avant de se poser ce genre de problème... c'est plus psychologique qu'autre chose. On se dit pas "Zut En ce moment j'ai 1 Go de ram qui me servent à rien sur mon ordi"

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 166
    Points : 84
    Points
    84
    Par défaut
    Merci pour vos réponses

    Ca sert à rien de la ram vide de toute façon c'est du gachi
    c'est vrai que vu comme çà ...

    pour mon probleme de CPU à 100% il semblerait que çà vienne d'un événement PreRowPaint de mon DGV

    je souhaite changer le background de ma ligne en fonction des valeurs de certaines cellules

    le probleme est qu'on dirait que l'application boucle toujours dans cet événement

    quelqu'un aurait un tuyau pour mon exemple ?

    car avec une boucle for(each) je perds les couleurs lors d'un tri par colonnes

    merci

    @++

    KaloOopS

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/04/2007, 11h39
  2. Optimisation mémoire sur des String
    Par CyberChouan dans le forum Langage
    Réponses: 6
    Dernier message: 25/02/2007, 20h25
  3. optimisation mémoire
    Par cgu dans le forum Général Java
    Réponses: 11
    Dernier message: 04/04/2006, 22h18
  4. [Stratégie]optimiser mon application java
    Par Malo dans le forum Langage
    Réponses: 3
    Dernier message: 14/02/2006, 04h45
  5. Optimisation des applications Delphi
    Par reolik dans le forum Langage
    Réponses: 11
    Dernier message: 01/08/2005, 14h00

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