Вопросы производительности при создании большого файла HDF5 - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь создать файл HDF5, содержащий десятки тысяч групп, каждая из которых содержит 2 матрицы, одну с размером 500 000x3 и одну с размером 500 000x1. Конечный файл имеет размер около 200-300 ГБ.

Я использую R для итеративного создания групп и добавления наборов данных, используя rhdf5.

В начале это выполняется довольно быстро (~ 1 в секунду для набора данных), но со временем он значительно замедляется, по крайней мере, в 10 раз. Это заставляет меня думать, что в этом процессе есть что-то, что не масштабируется линейно, делая все медленнее и медленнее добавлять каждый новый набор данных.

Есть ли что-то в HDF5, что может быть причиной этого? Я думаю, например, нужно ли упорядочить записи в файле, что может заставить инструмент продолжать перемещать данные, когда новые записи добавляются в середине.

Я уже пытался разделить группы на подгруппы, чтобы убедиться, что я не получу 10000 групп на уровне root, но похоже, что это не помогло.

...