ENH: Improve performance of hdf5 writes.
Previously, each time a dataset was written to hdf5, the file was opened and closed. This was implemented because inside the heavy data writer we have no idea whether another dataset will be written, so we don't know whether to keep the file open. After profiling large xdmf writes it was determined that closing the file appeared to be a bottleneck so hooks were added to the heavy data writer to open the file and keep it open while writing. This is optional, but was incorporated into several higher level classes like XdmfWriter where we know we can leave a file open until we finish writing the XML. For our test problem we saw a 7 time performance gain.
Showing with 162 additions and 21 deletions