cs_crazysetup
Messages postés30Date d'inscriptionmardi 25 septembre 2007StatutMembreDernière intervention 1 février 2010
-
21 avril 2008 à 11:56
Utilisateur anonyme -
18 avril 2012 à 20:32
Salut,
J'ai repris un programme ( un projet des étudiants de l'année dernière ) et parmi les tâches que je dois effectuer : optimiser les ressources, je dois faire en sorte que mon application consomme moins moins de mémoire.
comment faire ?
merci
Pour mon jeu, je suis passé de 64 à 17 Mo de mémoire utilisée et de 0.5 à 8 FPS sur des machines pourries alors fais moi signe si tu veux quelques pistes.
Prends garde, certaines optimisations sont très sensibles à la version de Java que tu utilises. Ne réduis pas la lisibilité du code sous prétexte que c'est sensé aller plus vite. Avant de penser aux micro-optimisations, optimise tes algorithmes. Il ne faut surtout pas prendre le problème à l'envers. Les micro-optimisations doivent être faites à la fin et normalement, ça ne te fait pas gagner grand chose, la JVM fait bien son boulot.
cs_crazysetup
Messages postés30Date d'inscriptionmardi 25 septembre 2007StatutMembreDernière intervention 1 février 2010 21 avril 2008 à 13:04
Merci Bokc pour l'article, j'ai compris pas mal de trucs.
gouessej, quant tu parles de micro optimisation qu'est ce que tu veux dire par la ?
mon projet c'est un scanner de ports qui lance 150 processus afin de bien faire son boulot,
ya t'il moyen de réduire le nombre de processus ?
si tu veux je peu te filer mon code pour que t'y jette un coup d'oeil ! ca sera gentil de m'aider à trouver un point de départ !
Merci !
Si ce n'est pas fait, tu peux utiliser un ExecutorService ou un truc dans le genre. Cela permet de répartir les tâches à faire sur les différents noyaux du processeur.
C'est exagéré de parler de "drame" comme le fichier eclipse.ini dont vous parlez dispose de réglages permettant notamment d'augmenter la taille maximale du tas mémoire de Java (Java memory heap), il est conçu pour gérer ce genre de cas. De plus, je n'ai pas eu besoin de changer ce genre de réglage sur des projets de plusieurs millions de lignes de code composés de plusieurs dizaines de fragments sauf quand j'ai installé le plugin Findbugs. En conséquence, je vous conseille vivement de ne pas faire croire aux débutants que ces cas de figures sont courants car c'est complètement faux.
Enfin, votre suggestion est hors sujet puisqu'il s'agit de réduire la consommation mémoire d'un programme, pas d'augmenter la mémoire disponible pour Eclipse. D'ailleurs, une telle augmentation n'est pas une optimisation.