Bonjour, je réalise un programme assez lourd.
Je suis en phase d'optimisation.
En fait, ce programme travaille avec des tables de données DB2 assez lourdes (pluisieurs millions de lignes), les interfaces sont elles aussi assez lourde et la mémoire alloué fait parfois défaut.
Mon problème consiste à éviter au maximum les erreurs de type JAva Heap Space.
Pour l'instant, je fai un test de mémoire en amont pour avoir la mémoire disponible, et je compare à un tableau de valeur que je me suis crée.
Par exemple, si on veut sortir 50000 lignes d'une table, j'ai mis la case du tableau à 5Mo.
Mais cette méthode n'est pas très efficace, et je chercherai à l'optimiser.
Je ne peux pas "bloquer" l'affichage/mise en mémoire au delà d'un certain nombre (50 000 serait bien) car cela impacte l'utilité du matériel. Il faut que l'utilisateur puisse afficher 200 000 lignes s'il le souhaite...
J'ai remarqué qu'en chargeant petit à petit (appui sur un bouton pour rajouter X lignes) marche mieux qu'en chargeant out d'un coup, pourquoi??
Franchement, je ne vois pas comment faire, car ce test de mémoire n'est vraiment pas efficace.
Partager