mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-04-12 17:31:09 +08:00
[svn-r9533] Purpose:
enhanced performance for h5diff Description: the comparison cycle for the 2 buffers read from file was using a compare function where the type must be checked for each datum (e.g due to recursive calls in compound types) for atomic types this checking can be avoided Solution: introduced cycles for each one of the atomic integer and float class types Platforms tested: linux aix solaris Misc. update:
This commit is contained in:
parent
22a72b911e
commit
edbd77302f
@ -238,4 +238,140 @@ hsize_t diff_datum(void *_mem1,
|
||||
|
||||
|
||||
|
||||
|
||||
hsize_t diff_float(unsigned char *mem1,
|
||||
unsigned char *mem2,
|
||||
hsize_t nelmts,
|
||||
int rank,
|
||||
hsize_t *acc,
|
||||
hsize_t *pos,
|
||||
diff_opt_t *options,
|
||||
const char *obj1,
|
||||
const char *obj2,
|
||||
int *ph);
|
||||
|
||||
hsize_t diff_double(unsigned char *mem1,
|
||||
unsigned char *mem2,
|
||||
hsize_t nelmts,
|
||||
int rank,
|
||||
hsize_t *acc,
|
||||
hsize_t *pos,
|
||||
diff_opt_t *options,
|
||||
const char *obj1,
|
||||
const char *obj2,
|
||||
int *ph);
|
||||
|
||||
hsize_t diff_schar(unsigned char *mem1,
|
||||
unsigned char *mem2,
|
||||
hsize_t nelmts,
|
||||
int rank,
|
||||
hsize_t *acc,
|
||||
hsize_t *pos,
|
||||
diff_opt_t *options,
|
||||
const char *obj1,
|
||||
const char *obj2,
|
||||
int *ph);
|
||||
|
||||
hsize_t diff_uchar(unsigned char *mem1,
|
||||
unsigned char *mem2,
|
||||
hsize_t nelmts,
|
||||
int rank,
|
||||
hsize_t *acc,
|
||||
hsize_t *pos,
|
||||
diff_opt_t *options,
|
||||
const char *obj1,
|
||||
const char *obj2,
|
||||
int *ph);
|
||||
|
||||
hsize_t diff_short(unsigned char *mem1,
|
||||
unsigned char *mem2,
|
||||
hsize_t nelmts,
|
||||
int rank,
|
||||
hsize_t *acc,
|
||||
hsize_t *pos,
|
||||
diff_opt_t *options,
|
||||
const char *obj1,
|
||||
const char *obj2,
|
||||
int *ph);
|
||||
|
||||
hsize_t diff_ushort(unsigned char *mem1,
|
||||
unsigned char *mem2,
|
||||
hsize_t nelmts,
|
||||
int rank,
|
||||
hsize_t *acc,
|
||||
hsize_t *pos,
|
||||
diff_opt_t *options,
|
||||
const char *obj1,
|
||||
const char *obj2,
|
||||
int *ph);
|
||||
|
||||
hsize_t diff_int(unsigned char *mem1,
|
||||
unsigned char *mem2,
|
||||
hsize_t nelmts,
|
||||
int rank,
|
||||
hsize_t *acc,
|
||||
hsize_t *pos,
|
||||
diff_opt_t *options,
|
||||
const char *obj1,
|
||||
const char *obj2,
|
||||
int *ph);
|
||||
|
||||
hsize_t diff_uint(unsigned char *mem1,
|
||||
unsigned char *mem2,
|
||||
hsize_t nelmts,
|
||||
int rank,
|
||||
hsize_t *acc,
|
||||
hsize_t *pos,
|
||||
diff_opt_t *options,
|
||||
const char *obj1,
|
||||
const char *obj2,
|
||||
int *ph);
|
||||
|
||||
hsize_t diff_long(unsigned char *mem1,
|
||||
unsigned char *mem2,
|
||||
hsize_t nelmts,
|
||||
int rank,
|
||||
hsize_t *acc,
|
||||
hsize_t *pos,
|
||||
diff_opt_t *options,
|
||||
const char *obj1,
|
||||
const char *obj2,
|
||||
int *ph);
|
||||
|
||||
hsize_t diff_ulong(unsigned char *mem1,
|
||||
unsigned char *mem2,
|
||||
hsize_t nelmts,
|
||||
int rank,
|
||||
hsize_t *acc,
|
||||
hsize_t *pos,
|
||||
diff_opt_t *options,
|
||||
const char *obj1,
|
||||
const char *obj2,
|
||||
int *ph);
|
||||
|
||||
hsize_t diff_llong(unsigned char *mem1,
|
||||
unsigned char *mem2,
|
||||
hsize_t nelmts,
|
||||
int rank,
|
||||
hsize_t *acc,
|
||||
hsize_t *pos,
|
||||
diff_opt_t *options,
|
||||
const char *obj1,
|
||||
const char *obj2,
|
||||
int *ph);
|
||||
|
||||
hsize_t diff_ullong(unsigned char *mem1,
|
||||
unsigned char *mem2,
|
||||
hsize_t nelmts,
|
||||
int rank,
|
||||
hsize_t *acc,
|
||||
hsize_t *pos,
|
||||
diff_opt_t *options,
|
||||
const char *obj1,
|
||||
const char *obj2,
|
||||
int *ph);
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* H5DIFF_H__ */
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user