Le 22/08/2013 11:48, Sigrid Lehuta a écrit :
C'est bien en sous processus, j essaie d augmenter la memoire.
Quand on lance un plan sequentiel sur caparmor, est ce la memoire locale ou celle de caparmor qui est utilisee ? car je crois avoir eu le pb sur caparmor aussi.
Pour info, j ai fait un test et en effet en limitant le nombres de zone de la pop a 3 au lieu de 8 la vitesse est multipliee par 4! J essai aussi d optimiser mon equation de migration qui est lourde mais pour le moment ca n aide pas... voici le plus efficace que j ai trouvé: if(group.getAge() > 2 && "Sole_spawning".equals(departureZone.getName())){ if(N.sumAll() < 70000000 && "Sole_low1".equals(arrivalZone.getName())){ return 1; }else if (N.sumAll() > 70000000 && N.sumAll() < 125000000 && "Sole_low2".equals(arrivalZone.getName())){ return 1; }else if (N.sumAll() > 125000000 && N.sumAll() < 145000000 && "Sole_med3".equals(arrivalZone.getName())){ return 1; }else if (N.sumAll() > 145000000 && N.sumAll() < 160000000 && "Sole_high4".equals(arrivalZone.getName())){return 1; }else if(N.sumAll() > 160000000 && "Sole_high5".equals(arrivalZone.getName())){ return 1; }else return 0; } else return 0; En fait, Jean viens de me faire part d'une bonne remarque.
N.sumAll() est en fait problématique car cela parcours toute la matrice d'abondance. Il vaut mieux mettre le calcul une seule fois en début d'equation: double NsumAll = N.sumAll(); et utiliser la variable NsumAll ensuite. -- Éric Chatellier - Code Lutin Tel: 02.40.50.29.28 - http://www.codelutin.com