2011-11-11 10 views
7

Ho lavorato con i file HDF5 con C e Matlab, sia con lo stesso modo in cui per la lettura e la scrittura di set di dati:HDF5 per Python: alto livello vs interfacce di basso livello. h5py

  • file aperto con h5f
  • insieme di dati aperto con h5d
  • select spazio con h5s

e così via ...

Ma ora sto lavorando con Python e con la sua libreria h5py vedo che ha due modi per gestire l'HDF5: interfacce di alto livello e di basso livello. E con il primo servono meno linee di codice per ottenere le informazioni da una singola variabile del file.

C'è una notevole perdita di prestazioni quando si utilizza l'interfaccia di alto livello?
Per esempio quando si ha a che fare con un file con molte variabili all'interno, e dobbiamo leggerne solo uno.

+0

Nella maggior parte dei casi, non dovrebbe esserci una differenza evidente. Perché non limitarti a vederlo e vedere? –

+0

La profilatura è una delle prossime cose che farò, ma qualsiasi altra opinione da parte di persone che hanno già affrontato questa questione è sempre valida !. –

risposta

2

Le interfacce di alto livello sono generalmente soggette a una perdita di prestazioni di qualche tipo. Dopodiché, se è evidente (vale la pena di essere analizzato) dipenderà da cosa stai facendo esattamente con il tuo codice.

Basta iniziare con l'interfaccia di alto livello. Se il codice è nel complesso troppo lento, avvia la profilatura e sposta i colli di bottiglia nell'interfaccia di livello inferiore e verifica se è utile.

Problemi correlati