Pregunta

He estado usando IronPython por un tiempo, pero algo que realmente obstaculiza mi desarrollo es que es insoportablemente lento para iniciarse. Me encanta el lenguaje y su forma de trabajar, pero es frustrante tener que esperar más de 20 segundos antes de que comience a ejecutar mi código.

He cavado un poco y parece ser que el problema no es con la import ing, sino antes de esa etapa.

Gracias.

¿Fue útil?

Solución

Estamos trabajando para solucionar esto en 2.6. Puede descargar Beta 1 hoy y probablemente verá una versión mucho mejor tiempo de inicio.

El problema es que la mayor parte del tiempo generalmente se gasta en código JIT. Es especialmente pronunciado si estás en una máquina de 64 bits porque la de 64 bits es más lenta. En 2.6 ahora demoramos la compilación de cosas hasta que realmente se ejecutan la primera vez, las interpretamos si solo se necesitan una o dos veces, y hemos movido un montón de código que generaríamos en tiempo de ejecución a IronPython.dll para que También se beneficia de ngen. Cuanto más grande sea la aplicación, mayor será la mejora que probablemente verá de todos estos cambios.

Si no marcó la opción ngen al instalar IronPython, puede volver atrás y ngen desde la línea de comando haciendo "ngen install ipy.exe". ngen.exe está en C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ ngen.exe o C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ ngen.exe si está en un 64- máquina de bits Pero debe ser un símbolo del sistema de administrador. Eso le dará algunos beneficios hoy en la versión estable. Si tiene 64 bits, deberá hacerlo incluso si marcó la casilla: hay un error que impedía que ngen funcionara correctamente en 64 bits.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top