Domanda

Uso IronPython da un po 'di tempo, ma qualcosa che ostacola davvero il mio sviluppo è che è lancinante lento da avviare. Adoro la lingua e il suo modo di lavorare, ma è frustrante dover attendere fino a 20 secondi prima che inizi a eseguire il mio codice.

Ho fatto un po 'di ricerche e sembra che il problema non sia con import ing, ma prima di quella fase.

Grazie.

È stato utile?

Soluzione

Stiamo lavorando per risolvere questo problema in 2.6. Puoi scaricare Beta 1 oggi e probabilmente vedrai un miglioramento molto migliorato tempo di avvio.

Il problema è che la maggior parte del tempo viene generalmente speso codice JIT. È particolarmente pronunciato se si utilizza un computer a 64 bit perché il 64 bit è più lento. In 2.6 ora ritardiamo la compilazione delle cose fino a quando non vengono effettivamente eseguite la prima volta, li interpretiamo se sono necessari solo una o due volte e abbiamo spostato un sacco di codice che genereremmo in fase di esecuzione in IronPython.dll in modo che beneficia anche di ngen. Maggiore è l'app, maggiore sarà un miglioramento che probabilmente vedrai da tutte queste modifiche.

Se non hai verificato l'opzione ngen durante l'installazione di IronPython, puoi tornare indietro e cercarlo dalla riga di comando facendo " ngen install ipy.exe " ;. ngen.exe è in C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ ngen.exe o C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ ngen.exe se utilizzi un 64- bit machine. Ma deve essere un prompt dei comandi dell'amministratore. Questo ti darà alcuni vantaggi oggi sulla versione stabile. Se sei su 64 bit dovrai farlo anche se hai spuntato la casella: c'è un bug che impedisce a ngen di funzionare correttamente su 64 bit.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top