Bonjour,
Je travail sous éclipse ou je développe un modèle mathématique qui prend en entré des données de type precipitation/Température/.. répartie temporellement et par pixel.
ces données étant en très grand nombre (11GO par variables (il y en a 6)), elles sont stockées dans 6 fichier (1 par variable) de type NETCDF.
Je me suis donc servis des de la bibliothèques NETCDF JAVA library (NJL)
http://www.unidata.ucar.edu/software/netcdf-java/
Le problème est que la lecture des donnée est parfois tres longue. Je m'explique, je calcul pour chaque pixel les sortie du modèle, et pour chaque pixel, je dois donc aller chercher les valeur journalière de donnée comme la température, les precipitations etc... Pour certain pixel, cette lecture devient bizarrement longue (1 minute pour lire mes 8 données (fois 365*nb année simulé)) alors que pour la plupart des pixel, cette lecture prend a peine 1 seconde. Je precise bien sur que pour chaque pixel la taille des donnée à lire est toujours similaire.....
Je ne comprend pas cette irrégularité dans le temps de lecture? je pense que la NJL traffic des truc avec la mémoire.
N'etant pas expert en Java, est ce qu'il existe des moyens de voir ce qui se passe au niveau du Garbage collector ? si celui travaille, a quelle fréquence??
Est il possible d'avoir une fuite mémoire en JAVA qui sature la mémoire utile du process dans lequel s'exécute mon modèle???
Est ce qu'un utilisateur pourrait me renseigner sur une bonne façon d'utiliser la NJL dans le cas ou je m'en sert mal.
D'autant plus que depuis cet après midi, alors que j'ai juste modifié très légèrement le code (j'ai remplacé un coef multiplicateur par un autre) le ralentissement ce fait maintenant a tout les pixels.
Ha oui, il se passe autre chose d'étrange. si depuis éclipse, je lance le run sur par exemple les 4 premiers pixel. J'arrete le run et je relance alors là, comme par magie, pour ces 4 pixel, le temps d'accès en lecture au variable et de nouveaux rapide (comme si des chose en mémoire avait été stocké)..... Bref, j'ai un peu de mal a comprendre le pourquoi du comment
Merci pour votre aide.
Partager