Преобразование строки в int слишком медленное
у нас есть программа, которая читает по 3 строки на строку за 50000. Затем она делает другие вещи. Часть, которая читает файл и преобразует его в целые числа, занимает 80% от общего времени выполнения.
Мой фрагмент кода ниже:
import time
file = open ('E:/temp/edges_big.txt').readlines()
start_time = time.time()
for line in file[1:]:
label1, label2, edge = line.strip().split()
# label1 = int(label1); label2 = int(label2); edge = float(edge)
# Rest of the loop deleted
print ('processing file took ', time.time() - start_time, "seconds")
Вышеуказанное занимает около0,84 секунды, Теперь, когда я раскомментирую строку
label1 = int(label1);label2 = int(label2);edge = float(edge)
время выполнения увеличивается примерно до3,42 секунды.
Входной файл имеет вид:str1 str2 str3
за строку
Являются ли функцииint()
а такжеfloat()
так медленно? Как я мог оптимизировать это?