Почему spyder становится все медленнее, пока ядро ​​не перезапустится? - PullRequest
0 голосов
/ 07 декабря 2018

Я начинающий программист на Python.

Я работаю над следующим кодом для построения длинных списков данных.Данные файла, которым я занимаюсь, составляют около 500 МБ.Spyder становится медленнее после каждого полного выполнения, и я заканчиваю тем, что перезагружаю ядро ​​довольно часто.Почему это происходит?

Модули Callig

import numpy as np
import matplotlib.pyplot as plt

import time

получение из файла

with open('morelines004.dat') as data_f:
    #creo lista str con elementi-linee separate da line boundary
    lines = data_f.read().splitlines()
    print("--- %s seconds splitlines ok ---" % (time.time() - start_time))
    #elimino elementi lista vuoti
    lines = [line.split(' ') for line in lines if line!='']
    print("--- %s seconds split ok ---" % (time.time() - start_time))
    data=[]
    #creo lista dati eliminando header
    for line in lines:
        data.append(line[4:])
    datach1=[]    
    datach3=[]
    datach7=[]    
    for i in range(1,len(data)+1,17):   
        datach1.append(data[i])     #plug
        datach3.append(data[i+2])   #g-2
        datach7.append(data[i+6])   #trigger
    print("--- %s seconds split data ok ---" % (time.time() - start_time))        
    #converte data in un numpy array poi di float
    datach1=np.array(datach1).astype(np.float)
    datach3=np.array(datach3).astype(np.float)
    datach7=np.array(datach7).astype(np.float)

сюжетная графика в файле

### G-2 Event Plotter
for event in range(0,1001,20):
    plt.figure(event,figsize=(10,10))
    plt.plot(datach3[event][1:])
    plt.plot(datach1[event][1:],c='red')
    plt.plot(datach7[event][1:],c='darkgray')
    plt.xlabel('ns')
    plt.ylabel('ADC')
    plt.title('g-2. Event: %i' %event )
    plt.savefig('img/004g-2samples/004g-2event%i.png' %event)
plt.show()
plt.close()
...