HDF5 для Python: высокий уровень против низкоуровневых интерфейсов. h5py - PullRequest
7 голосов
/ 11 ноября 2011

Я работал с файлами HDF5 с C и Matlab, оба использовали один и тот же способ для чтения и записи в наборы данных:

  • открытый файл с h5f
  • открытый набор данных с помощью h5d
  • выбор пространства с помощью h5s

и т. Д. *

Но теперь я работаю сPython, и с его библиотекой h5py я вижу, что у него есть два способа управления HDF5: высокоуровневый и низкоуровневый интерфейсы.А в первом случае для получения информации из одной переменной файла требуется меньше строк кода.

Есть ли заметные потери производительности при использовании высокоуровневого интерфейса?
Например, при работес файлом со многими переменными внутри, и мы должны прочитать только одну из них.

1 Ответ

2 голосов
/ 27 ноября 2011

Высокоуровневые интерфейсы обычно имеют какую-то потерю производительности. После этого, будет ли это заметно (стоит исследовать), будет зависеть от того, что именно вы делаете со своим кодом.

Просто начните с высокоуровневого интерфейса. Если код в целом слишком медленный, запустите профилирование и переместите узкие места в интерфейс более низкого уровня и посмотрите, поможет ли это.

...