| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Feature
Description:
Added character encoding and attribute creation property lists.
Solution:
Attributes' character encoding is set via the ACPL.
The default is ASCII, with UTF-8 being the other option currently.
Platforms tested:
heping, mir, sleipnir, copper
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature
Description:
Check in baseline for compact group revisions, which radically revises the
source code for managing groups and object headers.
WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!!
WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!!
This initiates the "unstable" phase of the 1.7.x branch, leading up
to the 1.8.0 release. Please test this code, but do _NOT_ keep files created
with it - the format will change again before the release and you will not
be able to read your old files!!!
WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!!
WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!!
Solution:
There's too many changes to really describe them all, but some of them
include:
- Stop abusing the H5G_entry_t structure and split it into two separate
structures for non-symbol table node use within the library: H5O_loc_t
for object locations in a file and H5G_name_t to store the path to
an opened object. H5G_entry_t is now only used for storing symbol
table entries on disk.
- Retire H5G_namei() in favor of a more general mechanism for traversing
group paths and issuing callbacks on objects located. This gets us out
of the business of hacking H5G_namei() for new features, generally.
- Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t
- Lots more...
Platforms tested:
h5committested and maybe another dozen configurations.... :-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup/reorganization
Description:
Merge back some more changes extracted from the "compact group" set.
This bunch cleans up and prepares the H5G_* routines for eventual import of
new features.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4
Mac OS X.4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Merge back changes from "compact group" work that improve the
infrastructure of the library and may impact others. In this round of
merging, that includes:
- Move datatype allocation into single internal routine, instead of
duplicated code that was spread out in a dozen or so places.
- Clean up guts of object header routines (H5O_*) to allow for some of
the fancieroperations that need to be performed on groups, along with
some general improvements.
- Added a new error code
- Some minor cleanups in other code....
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4
Mac OS X
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Changed some scale+offset filter symbols from H5_SO_... -> H5Z_SO_...
to indicate that they are in the H5Z package.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updating scale offset filter.
Description:
Using enum to represent scale_offset type.
Change the order of parameters of H5Pset_scaleoffset.
Solution:
Platforms tested:
sol 2.9, Liunx 2.4, AIX 5.1
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.
Solution:
Ran this script in each directory:
foreach f (*.[ch] *.cpp)
sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature
Description:
Add group creation & access property lists, dataset access property lists
and named datatype creation & access property lists. Currently have
<foo>_extend() API names, which will need to be changed for the final release.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4 (heping)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add API calls allowing user control of the metadata cache.
Description:
Prior to this update, the metadata cache was not configurable
from outside the library.
Solution:
Add API calls allowing the user to configure the metadata cache
either at file open time, or for any open file. Also added calls
permitting the user to monitor cache size and hit rate. These
latter facilities are needed for "manual" cache size control
Platforms tested:
h5committested
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature.
Description:
The H5Pset_scaleoffset is changed for the scaleoffset filter
to handle both integer and floating-point data. Currently,
the D-scaling method from GRIB has been implemented for
compressing floating-point data.
Solution:
One more parameter is added to the H5Pset_scaleoffset interface
to let user specify what type of data is used and what method
to use as well as corresponding parameters.
Platforms tested:
heping
Misc. update:
Needs to update libtool's version number
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature.
Description:
Add the scaleoffset internal library filter.
Solution:
Platforms tested:
heping, copper, arabica
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding framework of N-bit filter
Description:
N-bit filter is required for NetCDF project.
To add N-bit filter, configure.in configure, Makefile.in under src and other
filter-related source code needs to be updated.
Currently, N-bit tests are turned off from the library. So the change will affect daily test.
Solution:
Platforms tested:
sol 2.7, linux 2.4, aix 5.1
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)
Description:
Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation. So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.
I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
FreeBSD 4.10 (sleipnir) w/threadsafe
FreeBSD 4.10 (sleipnir) w/backward compatibility
Solaris 2.7 (arabica) w/"purify options"
Solaris 2.8 (sol) w/FORTRAN & C++
AIX 5.x (copper) w/parallel & FORTRAN
IRIX64 6.5 (modi4) w/FORTRAN
Linux 2.4 (heping) w/FORTRAN & C++
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Revise mechanism for calling H5open/H5check to better avoid calling them
from internal libray code.
Only copy a datatype's group entry information if it has some.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel
Solaris 2.7 (arabica)
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changed functionality of H5Pget_data_transform
Description:
H5Pget_data_transform no longer allocates memory for the transform string...it
is the user's responsbility to do so.
Solution:
Made H5Pget_data_transform be more in line with other functions that do
similiar things:
User now has to allocate memory for the string themselves and specify how much
of the string should be copied into the buffer. There is also support for
querying the length of the transform string.
Platforms tested:
sol + eirene + copper
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added H5Pget_data_transform
Added support for polynomial data transforms
Description:
There is now support for polynomial data transforms (ie, (2+x)*(x-5)) instead
of just linear ones.
Note that, in order to compute a polynomial transform, one temporary copy of
the original data must be stored for each occurence of "x" in the transform
expression. This can result in very high memory usage for expressions of high
order.
Platforms tested:
sol + eirene
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
HDF5 now supports SZIP with no encoder.
Description:
SZIP can be configured to have both encoder and decoder or just to have the decoder. HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled.
Solution:
Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id. See SZIP RFC.
Platforms tested:
Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++)
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Refactored data transform code to reduce amount of symbols in the global
scope and also cleaned up & simplified the code a bit.
Platforms tested:
h5committest (minus copper, plus serial modi4)
FreeBSD 4.9 (sleipnir) w & w/o parallel
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New Feature
Description:
Add the data transform function, H5Pset_transform().
Platforms tested:
"h5committested".
Copper was down. Ran parallel tests in sol instead.
Misc. update:
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
replaced name of delete filter with remove filter for the new function H5Premove_filter
Description:
Solution:
Platforms tested:
linux
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
new library function H5Pdelete_filter
deletes one or all filters from a dataset creation property list
this was done for the NONE option of h5repack, added tests for this feature
added a test for the new function in /test/dsets.c
Description:
Solution:
Platforms tested:
linux
solaris
AIX
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
When two property lists are compared, the H5Pequal routine was just
comparing the raw information for the property values. This causes problems
when the raw information contains pointers to other information.
Solution:
Allow a 'compare' callback to be registered for properties, so that a user
application get perform the comparison itself, allowing for "deep" compares of
the property value.
This was exported to the H5Pregister & H5Pinsert routines in the development
branch, but not the release branch.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Changed version #'s returned from H5Pget_version from 'int *' to
'unsigned *' since we are never going to be using negative version #'s... :-)
Platforms tested:
FreeBSD 4.8 (sleipnir)
too small to need h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Finish converting the B-tree 'K' values to use unsigned integers, rather
than signed ones, since negative amounts of entries in a B-tree node aren't
meaningful.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
| |
Version update
Description:
Removed 1.4 compatibility code in the library.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup & new features
Description:
Added three new API functions for working on I/O filters: H5Pmodify_filter,
H5Pget_filter_by_id and H5Pall_filters_avail. Documentation on these will be
added for the 1.6.0 release, until then, we'll have to use the source code.
Also, simplified the H5Pset_szip and H5Pset_shuffle API interfaces, since
those filters are using the new "set local" callback facility to set dataset-
specific parameters.
Probably, some of the changes to internal H5Z routines are captured in
these changes also.
Solution:
Platforms tested:
FreeBSD 4.8 (sleipnir) w/szip
Linux 2.4 (sleipnir) w/szip
Solaris 2.7 (arabica) w/FORTRAN
IRIX64 6.5 (modi4) w/szip, FORTRAN & parallel
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup (sorta)
Description:
The H5Pset_szip API call was forcing users to pass in their parameters
in the same way as the internal representation of the filter parameters used
by the library (as an array of unsigned values).
Solution:
Changed to pass in separate parameters in a more user-friendly format.
Platforms tested:
FreeBSD 4.8 (sleipnir)
IRIX64 6.5 (modi4) w/parallel
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update
Description:
Missed this file when updating copyright statements.
Platforms tested:
None (comment change)
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To support szip compression in HDF5
Description:
szip compression support is required by NASA ESDIS. The compression algorithm
is good for scientific data. In HDF5, we add another filter
function to make szip as a default compression package as we did for gzip(or zlib).
In this check-in, a new function called H5Pset_szip was added into H5Pdcpl.c, this
function is very similar to H5Pset_deflate. The only difference is SZIP needs
four parameters from the user to get the compression done while gzip needs only one.
So we pass a pointer to this function instead of an integer number.
The description of the four parameters of szip should be in different
documents.
H5Z.c and other header files were simply modified to have HDF5 know szip.
Solution:
See the decription
Platforms tested:
Since there are changes of configure.in and configure,I didn't use h5committest.
I tested with four platforms.
1) Linux 2.4 (eirene)
2) Solaris 2.7(arabica)
3) windows 2000(VS 6.0)
4) SGI IRIX6.5-64(modi4)
For test 1)-3), only basic C tests were done
For modi4 test, I tested 64-bit C,parallel and fortran.
All tests passed, except a warning message from szip library when checksum is used in some order, which doesn't cause any real problems.
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update
Description:
Updated copyright statement in files which hadn't been updated yet.
Platforms tested:
Linux (Only comment change)
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Change feature
Description:
Switch to Fletcher32 from Adler32 checksum
Platforms tested:
arabica, eirene, modi4
Misc. update:
MANIFEST and RELEASE.txt updated.
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
New feature
Description:
Added Adler32 checksum as a filter in pipeline
Platforms tested:
arabica (fortran), eirene (, C++), modi4 (parallel, fortran)
Misc. update:
Update release_docs/RELEASE.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Various code cleanups to allow the development branch to be compiled with
a C++ compiler (i.e. CC=g++ )
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 (sleipnir) C++
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Lots of performance improvements & a couple new internal API interfaces.
Description:
Performance Improvements:
- Cached file offset & length sizes in shared file struct, to avoid
constantly looking them up in the FCPL.
- Generic property improvements:
- Added "revision" number to generic property classes to speed
up comparisons.
- Changed method of storing properties from using a hash-table
to the TBBT routines in the library.
- Share the propery names between classes and the lists derived
from them.
- Removed redundant 'def_value' buffer from each property.
- Switching code to use a "copy on write" strategy for
properties in each list, where the properties in each list
are shared with the properties in the class, until a
property's value is changed in a list.
- Fixed error in layout code which was allocating too many buffers.
- Redefined public macros of the form (H5open()/H5check, <variable>)
internally to only be (<variable>), avoiding innumerable useless
calls to H5open() and H5check_version().
- Reuse already zeroed buffers in H5F_contig_fill instead of
constantly re-zeroing them.
- Don't write fill values if writing entire dataset.
- Use gettimeofday() system call instead of time() system when
checking the modification time of a dataset.
- Added reference counted string API and use it for tracking the
names of objects opening in a file (for the ID->name code).
- Removed redundant H5P_get() calls in B-tree routines.
- Redefine H5T datatype macros internally to the library, to avoid
calling H5check redundantly.
- Keep dataspace information for dataset locally instead of reading
from disk each time. Added new module to track open objects
in a file, to allow this (which will be useful eventually for
some FPH5 metadata caching issues).
- Remove H5AC_find macro which was inlining metadata cache lookups,
and call function instead.
- Remove redundant memset() calls from H5G_namei() routine.
- Remove redundant checking of object type when locating objects
in metadata cache and rely on the address only.
- Create default dataset object to use when default dataset creation
property list is used to create datasets, bypassing querying
for all the property list values.
- Use default I/O vector size when performing raw data with the
default dataset transfer property list, instead of querying for
I/O vector size.
- Remove H5P_DEFAULT internally to the library, replacing it with
more specific default property list based on the type of
property list needed.
- Remove redundant memset() calls in object header message (H5O*)
routines.
- Remove redunant memset() calls in data I/O routines.
- Split free-list allocation routines into malloc() and calloc()-
like routines, instead of one combined routine.
- Remove lots of indirection in H5O*() routines.
- Simplify metadata cache entry comparison routine (used when
flushing entire cache out).
- Only enable metadata cache statistics when H5AC_DEBUG is turned
on, instead of always tracking them.
- Simplify address comparison macro (H5F_addr_eq).
- Remove redundant metadata cache entry protections during dataset
creation by protecting the object header once and making all
the modifications necessary for the dataset creation before
unprotecting it.
- Reduce # of "number of element in extent" computations performed
by computing and storing the value during dataspace creation.
- Simplify checking for group location's file information, when file
has not been involving in file-mounting operations.
- Use binary encoding for modification time, instead of ASCII.
- Hoist H5HL_peek calls (to get information in a local heap)
out of loops in many group routine.
- Use static variable for iterators of selections, instead of
dynamically allocation them each time.
- Lookup & insert new entries in one step, avoiding traversing
group's B-tree twice.
- Fixed memory leak in H5Gget_objname_idx() routine (tangential to
performance improvements, but fixed along the way).
- Use free-list for reference counted strings.
- Don't bother copying object names into cached group entries,
since they are re-created when an object is opened.
The benchmark I used to measure these results created several thousand
small (2K) datasets in a file and wrote out the data for them. This is
Elena's "regular.c" benchmark.
These changes resulted in approximately ~4.3x speedup of the
development branch when compared to the previous code in the
development branch and ~1.4x speedup compared to the release
branch.
Additionally, these changes reduce the total memory used (code and
data) by the development branch by ~800KB, bringing the development
branch back into the same ballpark as the release branch.
I'll send out a more detailed description of the benchmark results
as a followup note.
New internal API routines:
Added "reference counted strings" API for tracking strings that get
used by multiple owners without duplicating the strings.
Added "ternary search tree" API for text->object mappings.
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
Other platforms/configurations tested?
FreeBSD 4.7 (sleipnir) serial & parallel
Solaris 2.6 (baldric) serial
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix - informed by Kent
Description:
Some identifiers were flagged as unresolved symbols when building
with c++ on Windows. The reason is the name of these identifiers
were changed by the c++ compiler, also called name mangling.
Solution:
Moved
#ifdef __cplusplus
extern "C" {
#endif
to include the offending identifiers so the c++ compiler will take
them as is.
Platforms:
SunOS 5.7 (arabica)
Linux 6.2 (eirene)
Windows 2000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Adding internal shuffle filter
Description:
With the combination of shuffling filter with general compression
algorithm, the compression ratio may be improved without adding much
encoding and decoding time for many real NASA datasets(especially
floating data) and other application
datasets(See techNotes).
Solution:
SHuffle the bytes within the data to utilize the locality.
Platforms tested:
arabica , eirene, modi4
Misc. update:
Update MANIFEST if you add or remove any file.
Update release_docs/RELEASE for bug fixes, new features, etc.
Update applicable document files too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature.
Description:
Add H5P_DEFAULT_HASH_SIZE macro for users to use as the default size of
hash tables for H5Pcreate_class.
Platforms tested:
FreeBSD 4.6 (sleipnir) w and w/o parallel
Linux 2.2.x (eirene) w/FORTRAN & C++
Solaris 2.7 (arabica) w/FORTRAN
IRIX64 6.5 (modi4) w/FORTRAN & parallel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Internal feature.
Description:
To complement the "get the class's path" functionality, there needs to be
a way to open a generic property class with a path.
Solution:
Implement the "open a class by path" functionality. Also, add internal
testing routines.
Platforms tested:
FreeBSD 4.6 (sleipnir) (too small for triple testing)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New internal feature.
Description:
Need some way to determine the "full path" for a generic property class,
i.e. where is this class in the class hierarchy, in relation to its parent
class, etc.
Solution:
Added an internal function "H5P_get_class_path" and a testing function
"H5Pget_class_path_test" that builds the full path of a generic property
class back to the top of its class hierarchy.
This implementation uses '/' characters to delimit the components of the
class path, but no special cases are currently supported for having a '/'
character as part of the actual class name. Should this become an issue,
code to support (and test) it will need to be added.
Platforms tested:
FreeBSD 4.6 (sleipnir) (not major enough to justify triple-test)
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
New API functions
Description:
Added API functions to return pointer to low-level file handle
(H5Fget_vfd_handle and H5FDget_vfd_handle) and related property list
setting functions(H5Pset_family_offset and H5Pset_multi_type).
Platforms tested:
Linux 2.2(eirene), Solaris 2.7(arabica), IRIX64 6.5(modi4)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
__DLL__ is a keyword in some platforms and __DLL__ is also defined as a macro for windows DLL applications.
That causes problems.
Description:
Solution:
Use H5_DLL*** to replace __DLL***__ at all header files.
Change the macro defination at H5api_adpt.h.
Platforms tested:
linux2.2.18smp, irix64, solaris 2.7 and windows 2000
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
API name change
Description:
Change all "space time" references to "alloc time", including API functions
and macro definitions, etc.
Platforms tested:
FreeBSD 4.6 (sleipnir) w/C++
Solaris 2.7 (arabica) w/FORTRAN
IRIX64 6.5 (modi4) w/parallel & FORTRAN
|
|
|
|
|
|
|
|
|
|
|
| |
New Feature
Description:
Add H5P[set|get]_small_data_block_size API function, per our discussions at
last week's HDF5 meeting.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature.
Description:
Added a "small data" block allocation mechanism to the library, similar to
the mechanism used for allocating metadata currently.
See the RFC for more details:
http://hdf.ncsa.uiuc.edu/RFC/SmallData/SmallData.html
This reduces the number of I/O operations which hit the disk for my test
program from 19 to 15 (i.e. from 393 to 15, overall).
Platforms tested:
Solaris 2.7 (arabica) w/FORTRAN and FreeBSD 4.5 (sleipnir) w/C++
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
New feature
Description:
Fill-value's behaviors for contiguous dataset have been redefined.
Basicly, dataset won't allocate space until it's necessary. Full details
are available at http://hdf.ncsa.uiuc.edu/RFC/Fill_Value, at this moment.
Platforms tested:
Linux 2.2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Modify H5Fclose behavior
Description:
The HDF5 actual file close behaves in several ways in terms of if there
are still objects(dataset, group, datatype) opened in file.
Solution:
Added a new file access property, file close degree. It has four values,
H5F_CLOSE_DEFAULT
H5F_CLOSE_WEAK
H5F_CLOSE_SEMI
H5F_CLOSE_STRONG
The way a file is closed is decided by these values.
Platforms tested:
IRIX64 6.5, SunOS 5.6, FreeBSD 4.4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Property that H5P(g|s)et_hyper_cache uses is no longer in use inside the
library.
Solution:
Removed H5P(g|s)et_hyper_cache API functions, except when backward
compatibility is turned on. When backward compatibility is turned on,
the property is defined by the library, but unused internally.
Platforms tested:
FreeBSD 4.4 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backward Compatibility Fix
Description:
One of H5P[gs]et_buffer's parameters changed between v1.4 and the
development branch.
Solution:
Added v1.4 compat stuff around H5P[gs]et_buffer implementation and testing
to allow v1.4.x users to continue to use their source code without
modification.
These changes are for everything except the FORTRAN wrappers - I spoke with
Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
|