Il programma Python impiega troppo tempo per essere eseguito per la prima volta? [duplicare]

Nov 17 2020

Ho uno script Python che fondamentalmente prende i dati sul carico elettrico, i dati sulla produzione solare e fa alcune analisi del flusso di energia. È un algoritmo abbastanza complesso che coinvolge molti loop e enormi DataFrame, matrici e array. Quando lavoro sullo script per un po 'di tempo, ci vogliono in media 35 secondi per essere eseguito. Tutti i fan della mia macchina iniziano a soffiare.

Ma supponiamo che lascio il mio PC per 3-4 ore e torni indietro, lo stesso codice impiega più di 120 secondi per essere eseguito.

Perché è così e c'è un modo per evitarlo?

Qualsiasi aiuto sarebbe apprezzato.

Risposte

1 Tamir Nov 17 2020 at 05:16

Ciò sta accadendo a causa della memorizzazione nella cache. Quando si caricano i dati dalla stessa posizione per la prima volta, i dati vengono archiviati in un luogo più accessibile (cache) a causa della convinzione che presto si utilizzeranno di nuovo quei dati. Quando lasci il tuo computer, quello spazio viene riempito con altri dati utilizzati da altri processi. Questa è una parte fondamentale di come viene costruito un computer e i vari progettisti di chip di ottimizzazione aggiungono per rendere più veloce un computer (CPU). Questo fenomeno è noto anche come "corsa a freddo".

Modifica: il caricamento dei dati include il caricamento dei segmenti di codice effettivi (heap, stack, ecc.) In memoria