2012-07-13 4 views
2

Je lance IronPython 2.7.3 sous Windows 7 et cela prend plus de 15 secondes. Pourquoi est-ce si lent? Et comment le réparer? L'ordinateur est un portable Samsung NP300E5A (Celeron B800,2gb).IronPython se lance très lentement

+0

Commence-t-il si lentement à chaque fois? – 9000

Répondre

5

Il y a quelques raisons pour lesquelles IronPython est lent à démarrer. Tout d'abord, si vous n'avez pas utilisé le programme d'installation (qui alimentera les assemblages), le compilateur JIT doit convertir les assemblages IronPython de MSIL bytecode en code natif, ce qui prend du temps, car c'est beaucoup de code. Utilisez donc l'installateur sur ngen manuellement les assemblys. Deuxièmement, le code Python réel est également compilé JIT, mais pas tout de suite pour réduire la pénalité; le temps de démarrage était bien pire quand tout le code Python était JITté. Le .NET JIT n'est pas assez rapide à mon goût.

Enfin, ce n'est pas une centrale électrique d'un ordinateur portable. Cela dit, même sur mon quad core équipé de SSD, il faut encore quelques secondes pour commencer.

Le temps de démarrage d'IronPython s'est beaucoup amélioré, au point où il est maintenant très difficile d'optimiser davantage - le profilage est difficile (petite taille d'échantillon) et il n'y a pas de gains évidents. C'est "uniformément lent code" maintenant, malheureusement.

La force d'IronPython réside actuellement dans les processus de longue durée où le JIT peut obtenir de grandes victoires, et non pas dans les plus courts où c'est plus gênant.

Questions connexes