| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Description: I put function call of H5T_lock in H5T_open in last checkin. It's
unnecessary.
Solution: Take out.
Platforms tested: eirene(simple change).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Detect when a default property list is being used and just copy over the
default VL allocation properties, instead of querying for them.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup & optimization
Description:
Remove old structures that used a union to store information about the
dataspace extent and just store the information directly in the dataspace
extent itself.
Remove ifdef'd references to permutation ordering in dataspaces. We'll
definitely need more than this code if/when we implement this feature.
Change allocation of dataspace information from calloc() to malloc().
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Using existing dataspace extent copying routine instead of duplicating the
code (more slowly).
Also, back-port improvements to the dataspace message reading which clean
up the clean and centralize operations.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Revised dataspace selections to use a more "object oriented" mechanism
to set the function pointers for each selection and selection iterator. This
reduces the amount and number of times that dataspace selection info has to
be copied.
Additionally, change hyperslab selection information to be dynamically
allocated instead of an inline struct.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Avoid a memory copy by directly reading from the variable-length sequence
buffer when there is no type conversion on the way to disk.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Avoid running conversion routine when it's a noop.
Also, pick a minimum size for the variable-sized sequence conversion
buffer, instead of allocating lots of small buffers.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Restructure conversion loop of variable-length objects to avoid walking
through memory backwards and allocating as many temporary buffers. (This uses
the optimized method used in the atomic type conversions).
Also bring back another optimization for variable-length datatypes that
avoids querying the DXPL so many times.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Allow global heap collections to grow in size (up to a 64K limit) if they
are able to. This allows them to grow to a more reasonable size than the 4K
minimum size.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
Too minor to require h5committest
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Eliminate redundant memory allocation for type conversion of variable-length
sequences.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Eliminate redundant memset() when creating chunk map structure.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Eliminate some operations through temporary variables in H5F_addr_encode.
Eliminate some redundant memset()'s of structures that will be completely
overwritten in the variable-length datatype code.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Call malloc() instead of calloc() for data structure that we completely
initialize.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Don't allocate conversion buffer larger than the user's buffer.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Correct potential file corruption from mis-setting the metadata accumulator
address. (Bugfix contributed by Sean Monner <seanm@quadrus.com>)
Solution:
When the new metadata overlaps with the end of the metadata accumulator and
the accumulator grows in size, don't reset the address of the accumulator, since
it hasn't moved.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Avoid pushing errors on error stack when an object is not found in a B-tree.
Sometimes we are just checking if the object exists before we insert it into
the B-tree and the higher levels in the library should be responsible for
determining if not finding the object in B-tree is really an error.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Use default dataset transfer property list for internal metadata I/O
operations when parallel I/O is disabled. This avoids multiple copies of
the properties being made when the information is not needed.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel)
|
| |
|
|
|
|
| |
Fix makefiles, dependencies & manifest after source file rename.
|
|
|
|
|
|
|
|
| |
Rename these files
Description:
Since these files contain functions that are part of the dataset information
now, rename them to H5D<foo>.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor code
Description:
Move chunk and contiguous cached raw data from file information to dataset
information. This simplifies a number of internal interfaces, aligns the
code with it's purpose better and should allow more optimizations to the
chunked data I/O performance.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
| |
Description: After an opaque datatype is created, if no tag is attached, some operations will have
trouble to deal with null string of tag.
Solution: Initialize opaque's tag as empty string when it's created.
Platforms tested: h5committest.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization & cleanup
Description:
Don't recompute the internal index value for looking up the chunk in the
hash table, just use the value already computed from iterating through the
chunks.
Also, back-port some of the various cleanups to the source code from the
development branch, to make diffing the code easier.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization & bug fix
Description:
When dimension information is being stored in the storage layout message
on disk, it is stored as 32-bit quantities, possibly truncating the dimension
information, if a dimension is greater than 32-bits in size.
Solution:
Fix the storage layout message problem by revising file format to not store
dimension information, since it is already available in the dataspace.
Also revise the storage layout data structures to be more compartmentalized
for the information for contiguous, chunked and compact storage.
Platforms tested:
FreeBSD 4.9 (sleipnir) w/parallel
Solaris 2.7 (arabica)
h5committest
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Improvement
Description:
Break up the C99 integer types detection into even smaller
sub-module routines. This has dropped the compile time (with
optimization) from 94 seconds to 6 seconds.
Platforms tested:
h5committested.
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Add prototypes for H5S_select_serial_size() and H5S_select_serialize()
that were causing the library to fail when built with C++ compiler.
Platforms tested:
FreeBSD 4.9 (sleipnir) w/CC=g++
Only affects C++ builds, so no h5committest
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Changed local variables declaration to static to please compilers.
Platforms tested:
Tested by generating H5Tinit.c and verified it was same as before.
Tested in TG_NCSA.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Improvement.
Description:
Some compilers, e.g., Intel C v7.0, took a long time to compile
with optimization when a module routine contains many code lines.
Divide up all those types detections macros into subroutines, both
to avoid the compiler optimization error and cleaner codes.
Platforms tested:
h5committested.
|
|
|
|
|
|
|
|
|
|
| |
Bug fix. Backed out the byte order detection code. It was not
compatible with v1.6.
Platforms tested:
Tested in TG_NCSA.
Misc. update:
|
|
|
|
|
|
|
|
|
|
| |
Folded byte order detection from v1.7 to this.
Platforms tested:
No test because it has been tested in v1.7.
Will be tested in changes to be committed immediately.
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Expand the use of macros to inline trivial function pointer lookup and
calls to reduce the overall number of functions invoked during normal operation
of the library.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
Too minor to require h5committest
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Don't make a separate allocation for the selection offset - incorporate
it into the selection structure as a fixed size array.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Eliminate some trivial functions with macros that perform the same
operation.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Defer creating the span trees for hyperslab selections until they are
actually needed (which may be never, in certain circumstances).
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Eliminate many redundant lookups to check for no-op type conversion by
remembering that a type conversion path is the no-op path.
Also, don't allow non-no-op conversions which happen to be no-ops on a
particular machine (such as int<->long conversions on machines where int and
long are the same size and format, etc.) to replace the default no-op
conversion.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Further reduce the number of copies we make of a hyperslab selection for
chunked I/O, especially when we are only going to throw the old selection away
for a new one.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Improved LRU algorithm for locating blocks of the correct size in the
block free-list
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
too minor for h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Reduce amount of information allocated/freed for chunk cache.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/paralell)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Eliminate the B-tree "split_ratios" as a parameter and pull it from the
DXPL instead.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.9 (sleipnir) w/parallel
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|