Code optimization
Description:
Eliminate redundant B-tree lookups for chunk information.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
too minor to require h5committest
Code optimization
Description:
Reduce the number of times the number of elements in a selection is
computed.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
too minor to require h5committest
Code optimization
Description:
Move the element size for the selection into the selection iterator instead
of always passing it as a parameter.
Also, eleminate another 64-bit multiply for "all" selections.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Code optimization
Description:
Stop straddling the line and always use elements instead of bytes to
determine how how I/O to perform on a selection.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Code optimization
Description:
Eliminate more 64-bit multiplies by remebering the size of contiguous
datasets as well as chunked datasets.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Code optimization
Description:
Eliminate more redundant 64-bit multiplies
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Code optimization
Description:
Eliminate frivolous 64-bit multiply.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Code optimization
Description:
Remove extraneous memcpy()
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Code optimization
Description:
Remove redundant error checking.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Code optimization
Description:
Avoid dividing the chunk coordinates at the top levels of the chunk I/O
routines, only to multiply them at the bottom of the routines.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Code cleanup
Description:
Remove bogus "#undef NDEBUG" at top of file, which was blocking compiler
flags from setting NDEBUG properly.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Code cleanup/optimization
Description:
Don't clear the error stack when calling H5open(), it's unnecessary.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
New feature
Description:
Previously we have two windows .zip files for hdf5. One for c/c++ and
one for fortran. That added double maintenance work and also bug-driven.
Solution:
Use one merged all.zip.
By default, only C library will be tested.
Users can check fortran and c++ project files for fortran tests.
Detailed project list to be checked will be provided in windows doc.
Platforms tested:
windows xp 6.0 VS C++, Dec Fortran
windows 2000 6.0 VS C++, Dec Fortran, Intel C++
Misc. update:
Code cleanup
Description:
Refactor code to eliminate duplication of setup & calls to H5B_find to
locate information about a chunk on disk.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Code optimization
Description:
Hoist some if statements out of a loop in vector comparision routines that
are called very frequently by chunking code.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Temporarily disable float/double->unsigned long long conversion while I
work on fix.
Platforms tested:
Linux 2.4 (verbena)
too minor to require h5committest
Code optimization.
Description:
Use free-list pool of blocks for allocating chunk buffers, when there are
no filters in the pipeline. The avoids calling malloc/free so much.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Bug fix
Description:
Change C++ methods to match C prototypes for datatype overflow callback
routines.
Platforms tested:
FreeBSD 4.9 (sleipnir) w/C++
too minor to require h5committest
Slight improvement.
Description:
Show directory name at the beginning and ending of running
make check in a directory. Together with the time stamp,
it will be easier to see how much time it takes to run all
the tests in one directory.
Platforms tested:
Eirene only.
Misc. update:
Bug fix (sorta)
Description:
Add hack to allow the MS Visual Studio 6 compiler to build the library.
It cannot cast unsigned long long values to float or double values. So, add
another configuration macro to disable this conversion in the library. Just
the "hardware" conversion is disabled, so the library will still correctly
convert unsigned long long to float and double values, it will just happen
more slowly with the "software" conversion routine.
Platforms tested:
FreeBSD 4.9 (sleipnir) with "Windows" setting faked
inappropriate for h5committest
Description: H5Pset_type_conv_cb and H5Pget_type_conv_cb weren't put into
H5MPprivate.h. Another thing is the func type doesn't match the func field
in the struct in these functions.
Platforms tested: RH 8(fuss) and sleipnir
Bug fix (sorta)
Description:
The SGI machines have problems accurately (and consistently) converting
unsigned long values to float and double values, so put in a bit of a hack in
the datatype conversion test code to allow them to get "close enough". This
hack is enabled at configure time by a flag which should only be set on machines
with this problem.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Description: A new exception handler for datatype conversion(set through
H5Pset_type_conv_cb) to replace the old overflow callback function(set
through H5Tset_overflow). This new handler can deal with overflow, precision
loss and fraction truncate during datatype conversion.
Platforms tested: h5committest
Misc. update: release_docs
Undo the mysterous changes.
Description:
Somehow something changed this file during snapshot release.
Undo the change.
Platforms tested:
No test since it is a simple editing.
Misc. update:
bug fix
Description:
szip dll path was wrong at debug version
Since h5dump --xml thlink.h5 and h5dump --xml tmany.h5 failed for debugging due to
string allocation violation in h5dump.c; we turned off these two tests
for debug testing.
Solution:
Add a temporary batch file called dumptstdebug.bat for the time being.
Platforms tested:
windows 2000 VS 6.0.
Misc. update:
bug fix
Description:
h5repack and h5repacktst are not included in all dependencies.
unresolved externals in h5repack and h5repacktst.
Solution:
Added all dependencies on h5repack and h5repacktst.
Added h5repack and h5repacktst dependencies on toolslib.
h5repack and h5repacktst settings/Link/Object/library modules: added zlib.lib szib.lib.
Platforms tested:
Windows XP MS VS 6.0
Misc. update:
Code optimization
Description:
Instead of dynamicly allocating various arrays for various pieces of
information about a selection or selection iterator, just use fixed size
array of size H5S_MAX_RANK (as the rest of the library does).
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
h5committest
Code optimization
Description:
Make calculation of "all" selection sequence length information more
efficient.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
h5comittest
Purpose: Maintenance
Description: h5dwrite/read_f and h5awrite_read_f functions were overloaded
with dims argument being of type INTEGER and INTEGER(HSIZE_T).
We promised to remove overloading in 1.4 release. It was
removed from documentation but not from the source code.
Solution: Finish code cleanup.
Platforms tested: Solaris 2.7 32 and 64 bit, and copper with --enable-
parallel. Windows are broken, so Kent and Xuan
will test it with their changes later.
Misc. update:
Windows update including project update, H5Tinit.c update.
Description:
H5detect.c has been changed in UNIX, H5Tinit.c needs to be updated.
Several test files have been re-arranged.
Solution:
Fix them
Platforms tested:
windows xp
Misc. update:
Code optimization
Description:
Avoid clearing the error stack unless necessary.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Bug fix.
Description:
The data verification code didn't work. Also numerous minor bugs.
Solution:
Re-wrote data write and verification code. In particular, I
modified the verification code so it actually verifies data.
In the future, this test should be modified so it exercises
object deletes and chunk I/O.
Platforms tested:
h5committested
Checkpoint checkin of FP bug fixes. FP is still quite
buggy, but I must go deal with other matters.
Description:
Fixed two major bugs:
1) H5FPserver.c was clobbering meta data in its care.
2) H5FPserver.c was allocating the same space multiple
times, causing both data and meta data corruption.
Also made minor fixes, added debugging code, and familiarized
myself with the FP code.
All development work with FP enabled was done on Eirene.
On this platform, FP now passes its test reliably with
up to 9 processes. At 10 processes it seg faults every
time. I haven't looked into this issue.
There are also several known locking bugs which have to
be fixed. However, they are of sufficiently low probability
that I didn't bother with them on this pass.
FP has not been tested with deletions -- this should be
done.
Also, need to test FP chunked I/O.
Solution:
1) Modified cache in H5FPserver.c to merge changes correctly.
Found and fixed a bug in H5TB.c in passing.
2) Multiple space allocation was caused by a race condition
with set eoa requests.
Most of these eoa requests appeared to be superfluous, so
I deleted them.
Those issued during the superblock read seemed necessary,
so I inserted a barrier at the end of the superblock read,
to prevent races with allocations.
Platforms tested:
h5committested
Description:
Fixed bug in H5TB_less(). It was returning the next largest node,
instead of the next smallest as advertised.
Added comments warning that H5TB_rem()s will occasionally delete a
node other than the one provided in its argument list.
Solution:
It was sufficient t invert two comparisons in H5TB_less().
Platforms tested:
h5committested
Code cleanup
Description:
Clean up lots of warnings based on those reported from the SGI compilers
as well as gcc.
Platforms tested:
SGI O3900, IRIX64 6.5 (Cheryl's SGI machine)
FreeBSD 4.9 (sleipnir) w/ & w/o parallel
h5committest
Code cleanup
Description:
Regenerated with older version of dataspace information, since these files
don't contain null dataspaces.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Code cleanup
Description:
Update null dataspace changes to try to write older version of dataspace
information whenever possible.
Refactor common code to only one location.
Allow I/O operations to succeed on null dataspaces.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Bug fix.
Description:
Allow the recent changes to support correct srcdir operation to also work
when building in place.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Misc. update:
Code optimization
Description:
Instead of re-initializing the default stride & block arrays to have values
of '1' in each position each time we perform a hyperslab selection, create
static constant arrays with '1's in them.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir)
too minor to require h5committest