diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2004-04-06 16:57:34 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2004-04-06 16:57:34 (GMT) |
commit | 9cf3bf50b6f8ca35f90e0a9d02b1ccfac08d093c (patch) | |
tree | ec37c105b62162aa2841faf60157ae8f09acb5b2 /src/H5Shyper.c | |
parent | e696bc826affa724e4f2a20cf566cd1eceac9ac4 (diff) | |
download | hdf5-9cf3bf50b6f8ca35f90e0a9d02b1ccfac08d093c.zip hdf5-9cf3bf50b6f8ca35f90e0a9d02b1ccfac08d093c.tar.gz hdf5-9cf3bf50b6f8ca35f90e0a9d02b1ccfac08d093c.tar.bz2 |
[svn-r8310] Purpose:
Code optimization
Description:
Fix H5S_select_hyperslab to use arrays on the stack instead of dynamically
allocating them each time.
Platforms tested:
Solaris 2.7 (arabica)
too small to require h5committest
Diffstat (limited to 'src/H5Shyper.c')
-rw-r--r-- | src/H5Shyper.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/src/H5Shyper.c b/src/H5Shyper.c index 06a27c4..726f7fe 100644 --- a/src/H5Shyper.c +++ b/src/H5Shyper.c @@ -5548,8 +5548,8 @@ H5S_select_hyperslab (H5S_t *space, H5S_seloper_t op, const hsize_t count[], const hsize_t *block) { - hsize_t *_stride=NULL; /* Stride array */ - hsize_t *_block=NULL; /* Block size array */ + hsize_t _stride[H5O_LAYOUT_NDIMS]; /* Stride array */ + hsize_t _block[H5O_LAYOUT_NDIMS]; /* Block size array */ unsigned u; /* Counters */ H5S_hyper_dim_t *diminfo; /* per-dimension info for the selection */ herr_t ret_value=SUCCEED; /* Return value */ @@ -5566,9 +5566,6 @@ H5S_select_hyperslab (H5S_t *space, H5S_seloper_t op, if(stride==NULL) { hsize_t fill=1; - /* Allocate temporary buffer */ - if ((_stride=H5FL_ARR_MALLOC(hsize_t,space->extent.u.simple.rank))==NULL) - HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for stride buffer"); H5V_array_fill(_stride,&fill,sizeof(hssize_t),space->extent.u.simple.rank); stride = _stride; } @@ -5577,9 +5574,6 @@ H5S_select_hyperslab (H5S_t *space, H5S_seloper_t op, if(block==NULL) { hsize_t fill=1; - /* Allocate temporary buffer */ - if ((_block=H5FL_ARR_MALLOC(hsize_t,space->extent.u.simple.rank))==NULL) - HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for stride buffer"); H5V_array_fill(_block,&fill,sizeof(hssize_t),space->extent.u.simple.rank); block = _block; } @@ -5764,10 +5758,6 @@ H5S_select_hyperslab (H5S_t *space, H5S_seloper_t op, space->select.iter_init=H5S_hyper_iter_init; done: - if(_stride!=NULL) - H5FL_ARR_FREE(hsize_t,_stride); - if(_block!=NULL) - H5FL_ARR_FREE(hsize_t,_block); FUNC_LEAVE_NOAPI(ret_value); } /* end H5S_select_hyperslab() */ |