Commit Graph

23 Commits

Author SHA1 Message Date
Pedro Vicente Nunes
d4eec2cb07 [svn-r8758] Purpose:
h5dump new feature, bug fix

Description:
added the dump of unmamed types to the file contents
fixed a bug in the type array, it was printing invalid characters with the array indices option on

Solution:

Platforms tested:
linux
AIX
solaris

Misc. update:
2004-06-29 12:42:09 -05:00
Pedro Vicente Nunes
ba717ead8b [svn-r8749] Purpose:
dumper new features

Description:

1) added options for not printing : datasets, groups, datatypes, links
2) added a section for the user block
3) in the traversal routine, added the printing of an arrow for soft links and t
he word HARDLINK for hardlinks
   the print of the file contents is made during traversal , instead of at the e
   nd of it (this is helpful
       for very large files, where the wait time can be very long)
4) changed the description of the fill value properties
5) added a colon after the printing of the array indices




Solution:

Platforms tested:
linux
AIX
solaris

Misc. update:
2004-06-28 09:29:20 -05:00
Pedro Vicente Nunes
a5f1d15035 [svn-r8715] Purpose:
h5dump output change, new tests

Description:
the storage layout output format the storage layout output format  had some changes
same for the user defined filter
add an option (-y) for not printing the array indices (default is print indices )
the option for escaping non printable characters covers all characters (default is not escape)
(this might be not very portable, the test files are  tstring.ddl and tstringe.ddl )
add tests for the new options


Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-06-22 09:29:21 -05:00
Raymond Lu
18a656663a [svn-r8714] *** empty log message *** 2004-06-21 15:59:07 -05:00
Pedro Vicente Nunes
435c8b2d7d [svn-r8688] Purpose:
h5dump new feature

Description:
add processing of tab characters (in the context of the new option process CR/LF)

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-06-15 09:26:41 -05:00
Pedro Vicente Nunes
9d0ee09708 [svn-r8647] Purpose:
h5dump update

Description:
updated the h5dump test files  generator , so that it coincides with the 1.6 branch

Solution:

Platforms tested:
linux (small)

Misc. update:
2004-06-10 15:55:34 -05:00
Pedro Vicente Nunes
78ca05e040 [svn-r8644] Purpose: h5dump new features
Description:

added the code for print strings with new line and display the path of references (new source files h5tools_ref.c and .h )
added a test suite in testh5dump.sh.in for
( note : to create testh5dump.sh , one must redo ./configure; this detects the availability of filters
and generates  testh5dump.sh accordingly)
1) storage layout
2) fill value
3) print reference with path
4) print strings with new lines
5) filters

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-06-10 12:35:48 -05:00
Pedro Vicente Nunes
bad5b7ec31 [svn-r8622] Purpose:
h5dump new version

Description:
added the changes already made for 1.6
support for dumping of
1) filters
2) storage layout
3) fill value
4) comments
5) superblock
6) file contents
7) array indices


Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-06-07 11:40:25 -05:00
Raymond Lu
d77fc6af73 [svn-r8562] Purpose: New feature
Description:  Add null dataspace to h5dump and h5ls.


Platforms tested:  h5committest
2004-05-21 10:58:38 -05:00
Raymond Lu
c4d9f6ae10 [svn-r8066] Purpose: bug fix
Description: h5dump and h5ls failed an assertion check when a dataset's
    datatype is enumerate type and there are special characters in the names
    of these values.


Platforms tested: h5committest
2004-01-15 11:42:13 -05:00
Quincey Koziol
e1792ebb22 [svn-r7842] Purpose:
Bug fix

Description:
    Variable length strings and sequences with NULL pointers were not handled
by library, causing problems access the data.  This also affected fill values
for variable-length datatypes.

Solution:
    Address the issues in the library by detecting NULL sequences/strings
and avoid trying to convert them.

    Patched up dumper to display NULL sequences/strings.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-11-13 10:19:50 -05:00
Quincey Koziol
71f0aeff2a [svn-r7540] Purpose:
Bug fixes and code cleanup

Description:
    Changes to h5dump code:
        - Dump shared datatypes for any class of datatype, not just compound
            datatypes.
        - Cleaned up formatting to greatly reduce the amount of trailing
            whitespace emitted in output.  Also removed some spurious blank
            lines from named datatype output.

    Added code to generate named datatype attribute test file.

    Added tests for dumping named datatypes in attributes for both DDL and
        XML output.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-10-05 16:19:38 -05:00
Quincey Koziol
32220914a5 [svn-r7401] Purpose:
Code cleanup

Description:
    Remove various "fixtype" routines which duplicate (and actually pre-date)
    the functionality in H5Tget_native_type in favor of having the tools call
    H5Tget_native_type().  This provides the same functionality (actually better
    functionality, since the old "fixtype" routines didn't handle alignment of
    compound fields correctly) and reduces the amount of code to maintain.

    Add additional tests to dump out a "complex" compound datatype which
    exercises more code in the library for aligning compound fields correctly.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-08-25 15:00:56 -05:00
Quincey Koziol
2629b6e4d3 [svn-r7109] Purpose:
Code cleanup

Description:
    Clean up varios compiler warnings flagged by SGI compiler and gcc 3.3

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-06-25 21:10:33 -05:00
Pedro Vicente Nunes
e03437e4da [svn-r6960] Purpose:
added writing more attributes to one test file

Description:
added the writing of 3D attributes to one test file of h5ls

Solution:

Platforms tested:

Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)


Misc. update:
2003-06-04 12:37:36 -05:00
Albert Cheng
94bf3a6d7b [svn-r6946] Purpose:
Bug fix

Description:
This would sometimes coredump in machines like PSC Alpha cluster
or linux icc if -g is not used.

Solution:
The real problem was because char string arrays were declared
without including space for the null terminator.  E.g.,
   char s[5][2]={ "s1", "s2", ...}
is not correct.  Increased the size and also need to change
the H5S... definitions too.

Platforms tested:
"h5committested"--the h5dumpgentest passed without problem though
it failed in Fortran but that is a current known problem.
Tested in verbena using icc and also in PSC's cluster.

Misc. update:
Can't find this error in the v1.5 know problem list.
2003-06-02 18:32:33 -05:00
Pedro Vicente Nunes
73508e8d65 [svn-r6912] Purpose:
added a new test for h5ls

Description:

Solution:

Platforms tested:

Misc. update:
2003-05-22 17:22:32 -05:00
Quincey Koziol
e0824c482e [svn-r6863] Purpose:
Bug fix

Description:
    A few groups were left open after they were used.

Solution:
    Closed them. :-)

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committested
2003-05-13 14:48:30 -05:00
Bill Wendling
a306b38d67 [svn-r6785] Purpose:
Feature Add

Description:
    It's now possible to print out characters as actual characters
    instead of their decimal equivalent numbers. It's the same thing that
    h5ls does. The flag to do this is "--string" or "-r".

Platforms tested:
    Verbena (Fortran & C++)
    Arabica (Fortran)
    Modi4 (Fortran & Parallel)

Misc. update:
2003-04-30 17:37:06 -05:00
Quincey Koziol
8e391ad35a [svn-r6269] Purpose:
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++
2003-01-13 08:15:49 -05:00
Quincey Koziol
9a433b99a5 [svn-r6252] Purpose:
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
2003-01-09 12:20:03 -05:00
Raymond Lu
0105a3b97c [svn-r6099]
Purpose:
    bug fix.
Description:
    h5dump cannot dump data and datatype for VL string.
Platforms tested:
    eirene, arabica
Misc. update:
    MANIFEST, RELEASE.txt
2002-11-18 11:38:11 -05:00
Albert Cheng
16b3cfabba [svn-r6017] Description:
Renamed h5dumptst.c to h5dumpgentest.c.
    Added a test to run h5dumpgentest to make it can run without error.  Note
    that this does not verify if it is generating the correct test files.
Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}? YES
Misc. update:
    Update MANIFEST if you add or remove any file. YES
2002-10-19 15:59:19 -05:00