summaryrefslogtreecommitdiffstats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r6263] Purpose:Quincey Koziol2003-01-101-2/+7
| | | | | | | | | | | | | | | Update test Description: Some of the performance improvements changed the errors that are reported for creating a duplicated dataset in a file, causing this test's hard-coded errors to check for to fail. Solution: Updated error stack reported for dataset creation failure. Platforms tested: FreeBSD 4.7 (sleipnir) w/threads
* [svn-r6255] Purpose:Quincey Koziol2003-01-092-34/+198
| | | | | | | | | | Code cleanup Description: Clean up a few more warnings and update dependencies. Platforms tested: Linux 2.2.18smp (eirene) serial & parallel
* [svn-r6252] Purpose:Quincey Koziol2003-01-0919-72/+1044
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* [svn-r6213] Raymond Lu2002-12-161-29/+54
| | | | | | | | | | | Purpose: bug fix Description: some arrays were too big, running out of memory limit for some machines. Solution: change to dynamic memory allocation. Platforms tested: arabica, sleipnir
* [svn-r6207] Raymond Lu2002-12-161-0/+100
| | | | | | | | | Purpose: Add more test Description: More tests on nil and zero-sized VL strings. Platforms tested: arabica, eirene
* [svn-r6203] MuQun Yang2002-12-131-5/+6
| | | | | | | | | | | | | | | | Purpose: bug fixed for windows Description: windows fopen functions by default opens a text mode file. It will fail for HDF5 file. So to use HDopen HDread HDclose for test. Solution: Change from fopen, fread, fclose to HDopen, HDread, HDclose. Platforms tested: linux2.2.18smp, windows 2000 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.
* [svn-r6201] Raymond Lu2002-12-121-6/+6
| | | | | | | | | | | Purpose: Bug fix(kinda) Description: Windows handle "fopen, fseek, fread, fclose" C functions slightly different. Solution: change to HDopen, HDlseek, HDread, HDclose to cover both Unix and Windows. Platforms tested: arabica
* [svn-r6196] Raymond Lu2002-12-111-7/+477
| | | | | | | | | Purpose: more tests. Description: a few more test cases. Platforms tested: modi4, eirene, arabica
* [svn-r6171] Purpose:Quincey Koziol2002-12-041-19/+57
| | | | | | | | | | | | | Bug fix Description: Much of the VL-string testing code was recently disabled accidentally. Solution: Re-enable it and add test for writing/reading large string attributes. Platforms tested: FreeBSD 4.7 (sleipnir) - small enough to not need triple-check
* [svn-r6145] Raymond Lu2002-12-023-15/+156
| | | | | | | | | | Purpose: New feature to H5Dget_offset Description: If user block is set, H5Dget_offset should be able to return the absolute offset from the beginning of file. Platforms tested: eirene, arabica
* [svn-r6143] *** empty log message ***Quincey Koziol2002-12-022-12/+10
|
* [svn-r6136] Raymond Lu2002-11-251-11/+197
| | | | | | | | | | | Purpose: new functions Description: H5Gget_num_objs, H5Gget_objname_by_idx and H5Gget_objtype_by_idx. Platforms tested: modi4, arabica, eirene Misc. update: RELEASE.txt updated.
* [svn-r6131] Purpose:Quincey Koziol2002-11-213-10/+3
| | | | | | | | | | Code cleanup Description: Clean up compiler warnings from IRIX64 builds. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r6130] Purpose:Quincey Koziol2002-11-211-234/+255
| | | | | | | | | | | | Bug fix. Description: Accomodate 64-bit machines when using 'long' types. Clean up a few more warnings. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r6129] Purpose:Quincey Koziol2002-11-201-20/+46
| | | | | | | | Enhance test. Description: Expanded the nested compound datatype testing slightly. Platforms tested: FreeBSD 4.7 (sleipnir) - too minor for triple check.
* [svn-r6121] Purpose:Quincey Koziol2002-11-201-122/+60
| | | | | | | | | | | | | | | | | Bug fix Description: Array testing routine is creatint huge arrays on the function stack which causes a segmentation fault on Linux & FreeBSD when threadsafe support is enabled. Solution: Allocate data for test dynamically instead of automatically. In general, this should be the preferred method for all data arrays. Platforms tested: FreeBSD 4.7 (sleipnir) w/threadsafe enabled.
* [svn-r6117] Purpose:Quincey Koziol2002-11-202-0/+101
| | | | | | | | | | | | | | New files Description: Add test file for "missing filter" test in dsets.c Add test file generator code. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} FreeBSD 4.7 (sleipnir)
* [svn-r6115] Purpose:Quincey Koziol2002-11-202-127/+408
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code Cleanup & New Tests Description: tmisc.c: Switched from using H5_HAVE_COMPRESSION flag in favor of H5_HAVE_FILTER_DEFLATE. dsets.c: Switched from using H5_HAVE_COMPRESSION flag in favor of H5_HAVE_FILTER_DEFLATE. Refactored I/O filter tests to allow new filters to be [more] easily added. Added tests for shuffle & deflate+shuffle I/O filters (if the filter(s) are enabled). Added test for creating a new dataset with a filter that is not available. Added test for attempting to read a dataset created with a filter that is not available. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} FreeBSD 4.7 (sleipnir)
* [svn-r6109] *** empty log message ***Quincey Koziol2002-11-202-9/+9
|
* [svn-r6099] Raymond Lu2002-11-181-5/+27
| | | | | | | | | | | Purpose: bug fix. Description: h5dump cannot dump data and datatype for VL string. Platforms tested: eirene, arabica Misc. update: MANIFEST, RELEASE.txt
* [svn-r6089] MuQun Yang2002-11-131-0/+127
| | | | | | | | | | | | | | | | | Purpose: Add a testing case for shuffling algorithm. Description: A control test: Since shuffling 8-bit array should not change the original result; so we use a 8-bit array to test whether after shuffling the array keeps the same values. Solution: Platforms tested: eirene,arabica,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.
* [svn-r6062] Raymond Lu2002-11-072-0/+20
| | | | | | | | | | | | Purpose: New function. Description: H5Dget_offset returns the offset of a dataset's data relative to the beginning of a file. Platforms tested: arabica(simple function, one test should be enough.) Misc. update: RELEASE.txt
* [svn-r6060] Raymond Lu2002-11-063-3/+1404
| | | | | | | | | | | Purpose: Add new functions Description: add H5Tget_native_type and H5Tis_variable_str. Platforms tested: arabica, eirene, modi4 Misc. update: MANIFEST and release_docs/RELEASE updated.
* [svn-r6055] Purpose:Quincey Koziol2002-11-051-4/+165
| | | | | | | | | | | | | | New feature Description: Add support for scalar dataspaces in parallel I/O. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} Also, FreeBSD 4.7 (sleipnir) serial & parallel Misc. update: Update release_docs/RELEASE for bug fixes, new features, etc.
* [svn-r6054] Raymond Lu2002-11-051-5/+5
| | | | | | | | | Purpose: Makefile update Description: Update Makefile.in to handle more output file for cleanup Platforms tested: arabica
* [svn-r6046] Purpose:Albert Cheng2002-10-311-1/+5
| | | | | | | | | | | | | Improvement Description: fillval will fail to find the pre-exist data file if it is run in --srcdir mode without setting $srcdir properly. This is setup properly in the Makefile but unsuspecting users trying just ./fillval were puzzled by the failure. Solution: put in a more descriptive error message with a possible remedy. Platforms tested: Modi4 only since this is just adding a printf statment.
* [svn-r6043] Purpose:Quincey Koziol2002-10-291-0/+84
| | | | | | | | | | | | Bug fix Description: I/O using "none" selections in parallel wasn't working correctly. Also, add serial "none" selection test. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)}
* [svn-r6041] Raymond Lu2002-10-291-11/+120
| | | | | | | | | | | Purpose: Bug fix Description: #340 - get comment length for H5G; #435 - H5Aget_storage_size; #644 - H5Arename Platforms tested: eirene, arabica
* [svn-r5996] Purpose:Quincey Koziol2002-10-141-176/+1414
| | | | | | | | | | | | | | Code cleanup/Bug Fix Description: Added 10-20 more test cases to the ID->name code. Things seem more stable now. 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
* [svn-r5994] Purpose:Quincey Koziol2002-10-141-0/+79
| | | | | | | | | | | | | New test Description: Add test to check for correct generic property class reference counting. 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
* [svn-r5991] Purpose:Quincey Koziol2002-10-141-1/+8
| | | | | | | | | | | | | New feature Description: If backing store for a core VFD file is turned on, remove the file created. 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
* [svn-r5990] Purpose:Quincey Koziol2002-10-142-20/+20
| | | | | | | | | | | | | | Code cleanup Description: Clean up some compile warnings and have these tests create their data files with the correct file drivers and directories, etc. 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
* [svn-r5989] Purpose:Quincey Koziol2002-10-141-2/+3
| | | | | | | | | | | | | Code cleanup Description: Added more test datafiles to clean directive. 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
* [svn-r5983] Purpose:Quincey Koziol2002-10-141-54/+54
| | | | More fixups to the Dependencies files...
* [svn-r5981] Purpose:Quincey Koziol2002-10-141-326/+454
| | | | Regenerate Dependencies files.
* [svn-r5964] Purpose:Quincey Koziol2002-10-081-8/+20
| | | | | | | | | | | | | | | 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)
* [svn-r5963] Purpose:Quincey Koziol2002-10-081-2/+69
| | | | | | | | | | | | | | | | | | | | 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)
* [svn-r5962] Purpose:Quincey Koziol2002-10-071-0/+54
| | | | | | | | | | | | Bug fix Description: H5Pequal's algorithm for comparing property lists wasn't allowing property lists that are equal but had the properties inserted in a different order in the list's hash table. Solution: Re-did the algorithm a bit to compare the properties better. Platforms tested: FreeBSD 4.6 (sleipnir) (minor enough to not need triple testing)
* [svn-r5955] Raymond Lu2002-10-011-0/+25
| | | | | | | | | Purpose: a bug fix Description: modify the condition check for the file close degree. Platforms tested: Linux 2.2(eirene), Solaris 2.7(arabica), IRIX64 6.5(modi4)
* [svn-r5954] Raymond Lu2002-09-301-1/+1
| | | | | | | | | | | Purpose: a bug fix Description: When a file is opened for a second time, file close degree is supposed to be either the same as the first open, or default as the first open is also default. Platforms tested: Linux 2.2(eirene), Solaris 2.7(arabica), IRIX64 6.5(modi4)
* [svn-r5952] Raymond Lu2002-09-301-0/+387
| | | | | | | | | | | Purpose: Testing program for new APIs. 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)
* [svn-r5951] Raymond Lu2002-09-301-4/+6
| | | | | | | | | | | 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)
* [svn-r5947] Purpose:Quincey Koziol2002-09-251-4/+1
| | | | | | | | | | | | | | | | Code cleanup Description: Clean up ID->name code: - Reformat to better match library coding standard - Changed several algorithms to be more efficient - Integrated into library more smoothly Platforms tested: eirene w/FORTRAN & C++ arabica w/FORTRAN modi4 w/FORTRAN & parallel sleipnir
* [svn-r5929] Pedro Vicente Nunes2002-09-181-3/+48
| | | | | | | | | | | | | | Purpose: bug fix Description: memory leak regarding the ID to name buffer Solution: added a new function H5G_free_ent_name that is called on several places of the library Platforms tested: windows 2000 linux, with cpp solaris, with fortran, cpp irix64, with parallel, fortran
* [svn-r5926] Purpose:Quincey Koziol2002-09-133-45/+45
| | | | | | | | | | | | | 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
* [svn-r5904] Pedro Vicente Nunes2002-08-282-4/+1579
| | | | | | | | | | | | | | | | | | | Purpose: Added 'ID to name' support Description: There is a new API function H5Iget_name Most of the changes are on H5G.c , regarding the symbol table entry struct H5G_entry_t which has 2 new fields 'name' and 'old_name' A new private function was introduced H5G_ent_copy, that does a deep copy between 2 symbol table entries The test file is getname.c Platforms tested: windows 2000, Linux, Solaris
* [svn-r5895] Purpose:Quincey Koziol2002-08-277-27/+170
| | | | | | | | | | | | Code cleanup/More tests Description: Cleaned up some compiler warnings and wrote additional tests for space allocation and storage size routines. Platforms tested: FreeBSD 4.6 (sleipnir) w/serial & parallel. Will be testing on IRIX64 6.5 (modi4) in serial & parallel shortly.
* [svn-r5893] Raymond Lu2002-08-261-0/+9
| | | | | | | | | | Purpose: bug fix Description: The H5Dget_storage_size test doesn't handle the situation when no compression is configured. Platforms tested: IRIX 6.5
* [svn-r5887] Purpose:Quincey Koziol2002-08-231-3/+10
| | | | | | | | | | | Regression test for bug fix Description: Adjust selection so chunked data needs to be read from pre-allocated chunks w/filters, to verify that filter is applied correctly. Platforms tested: FreeBSD 4.6 (sleipnir) w/parallel
* [svn-r5879] Raymond Lu2002-08-203-195/+398
| | | | | | | | | Purpose: Design for compact dataset Description: Compact dataset is stored in the header message for dataset layout. Platforms tested: arabica, eirene.