Мне нужно загрузить (десериализовать) предварительно вычисленный список целых чисел из файла в скрипте Python (в список Python). Список велик (до миллионов элементов), и я могу выбрать формат, в котором я его храню, если загрузка выполняется быстрее.
Какой метод самый быстрый и почему?
- Использование
import
в файле .py, который просто содержит список, назначенный переменной
- Использование
cPickle
s load
- Какой-то другой метод (возможно,
numpy
?)
Кроме того, как можно надежно оценивать такие вещи?
Приложение: Надежно измерить это, потому что import
кэшируется, поэтому его нельзя выполнить несколько раз в тесте. Загрузка с помощью pickle также становится быстрее после первого раза, вероятно, из-за предварительного просмотра страниц ОС. Загрузка 1 миллиона номеров с помощью cPickle
занимает 1,1 с при первом запуске и 0,2 с при последующих выполнениях сценария.
Интуитивно я чувствую, что cPickle
должно быть быстрее, но я бы оценил цифры (думаю, это довольно сложная задача для измерения).
И да, для меня важно, чтобы это выполнялось быстро.
Спасибо