Bonjour à tous,
Je me suis inspiré d'une application développée en VB pour faire une autre application en Java. Ces deux applications font absolument les mêmes choses, tournent sur des postes client en local toutes les deux, donnent les mêmes résultats (des statistiques sur des listes de discussion), sauf que celle en VB le fait en 5 minutes, et la mienne (en Java) en 3 heures !
J'ai chronométré les différents processus de mon appli mais je n'arrive pas bien à voir où et pourquoi j'ai des temps de calcul aussi long.
D'où mes questions :
- je me sers d'h2 pour la base de données : est-ce la plus rapide ?
- certaines requêtes comme les "update" ou les "select" sont super longs
- j'avais entendu des trucs sur la boucle for : comme j'en utilise plein, est-ce que cela peut ralentir mon application ? si oui, qu'utiliser ?
- vaut-il mieux faire des requêtes sur une bdd ou écrire dans des fichiers (j'ai l'impression que ce dernier prend moins de temps!!)
- quel est le plus rapide dans la création/lecture/accession/manipulation entre un ArrayList, un tableau normal, un hashset, un tableau chaîné (même si je sais que tous ces tableaux sont très particuliers et réservés à des utilisations précises, je ne sais jamais lequel choisir lorsque ce que j'ai à faire dessus les concerne tous !!)
- lorsqu'on a un long traitement à faire, vaut-il mieux séparer les processus le plus possible (faire plein de void qu'on appelle d'une classe principale) ou faire un gros void énorme ?
- dans le même ordre d'idées, faut-il cloisonner ou décloisonner son programme, faire plein de classes très courtes, ou peu de classes très longues ?
Donc voilà, en gros, je me demande comment on optimise son code JAVA (hors algo car c'est un autre problème !) ???!!!
Merci à tous de vos nombreuses aides et réponses et orientations !
mc
Partager