2009-09-23 5 views

Répondre

1

Si vous avez une machine avec plus d'un processeur, vous pouvez essayer de lancer Eclipse/pydev avec les options -vmargs -XX:+UseParallelGC Vous pouvez également essayer différents JVMs pour voir si l'un de leur donner de meilleures performances.

2

Le temps de démarrage de Jython est lent ... il y a beaucoup de choses à faire! Chaque fois que vous exécutez un script Jython à partir de rien, le coût du temps de démarrage Jython sera le même.

Par conséquent, la raison Jython, Java et Python ne sont pas bonnes pour les invocations CGI. Par conséquent, la raison de mod_python dans Apache.

La clé est de démarrer Jython une fois et de le réutiliser. Mais ce n'est pas toujours possible surtout pendant le développement car vos modules changent constamment et Jython ne reconnaît pas ces changements automatiquement.

Jython a besoin d'un moyen de savoir quels modules ont été modifiés pour les rechargements automatiques. Ce n'est pas construit dans Jython et vous devrez compter sur une autre bibliothèque tierce pour vous aider. Le concept est de supprimer de 'sys.modules' les modules qui ont changé. Une solution simple consiste à effacer tous les modules de sys.modules - ce qui entraînera le rechargement de tous les modules. C'est évidemment, pas la solution la plus efficace.

Une autre astuce consiste à importer uniquement les modules dont votre module a besoin au moment où il en a «vraiment» besoin. Si vous importez tous les modules en haut de vos modules, cela augmentera le coût d'importation de votre module. Donc, refactoriser les importations à l'intérieur des méthodes/fonctions où elles sont nécessaires et où cela «a du sens». Bien sûr, si votre méthode/fonction est lourde de calcul et est utilisée fréquemment, elle ne fait pas l'impasse d'importer des modules dans cette méthode/fonction.

Espérons que cela vous aide!

Questions connexes