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