summaryrefslogtreecommitdiffstats
path: root/tools/lib/h5diff_attr.c
diff options
context:
space:
mode:
authorJonathan Kim <jkm@hdfgroup.org>2012-10-19 21:40:32 (GMT)
committerJonathan Kim <jkm@hdfgroup.org>2012-10-19 21:40:32 (GMT)
commitc61b885e8668ec0530032a87e8d5b762a248e069 (patch)
tree0c25132b9bf372fcf02cd22970e8cf898a4374ce /tools/lib/h5diff_attr.c
parentcaf88044e7210dcad25723c4c302370332fd3908 (diff)
downloadhdf5-c61b885e8668ec0530032a87e8d5b762a248e069.zip
hdf5-c61b885e8668ec0530032a87e8d5b762a248e069.tar.gz
hdf5-c61b885e8668ec0530032a87e8d5b762a248e069.tar.bz2
[svn-r22934] Purpose:
HDFFV-8145 h5diff slowness with version >= 1.8.7 Description: Improved speed when comparing HDF5 files with lots of attributes. Much slower performance was identified with release version from 1.8.7 to 1.8.10 compared to 1.8.6. Merged from HDF5 trunk r22933. Tested: jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), cmake (jam)
Diffstat (limited to 'tools/lib/h5diff_attr.c')
-rw-r--r--tools/lib/h5diff_attr.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/lib/h5diff_attr.c b/tools/lib/h5diff_attr.c
index 144159a..130a0d8 100644
--- a/tools/lib/h5diff_attr.c
+++ b/tools/lib/h5diff_attr.c
@@ -207,6 +207,12 @@ static herr_t build_match_list_attrs(hid_t loc1_id, hid_t loc2_id, table_attrs_t
table_lp->nattrs_only2++;
curr2++;
}
+
+ /* close for next turn */
+ H5Aclose(attr1_id);
+ attr1_id = -1;
+ H5Aclose(attr2_id);
+ attr2_id = -1;
} /* end while */
/* list1 did not end */
@@ -225,6 +231,10 @@ static herr_t build_match_list_attrs(hid_t loc1_id, hid_t loc2_id, table_attrs_t
table_attr_mark_exist(infile, name1, table_lp);
table_lp->nattrs_only1++;
curr1++;
+
+ /* close for next turn */
+ H5Aclose(attr1_id);
+ attr1_id = -1;
}
/* list2 did not end */
@@ -243,6 +253,9 @@ static herr_t build_match_list_attrs(hid_t loc1_id, hid_t loc2_id, table_attrs_t
table_attr_mark_exist(infile, name2, table_lp);
table_lp->nattrs_only2++;
curr2++;
+
+ /* close for next turn */
+ H5Aclose(attr2_id);
}
/*------------------------------------------------------
@@ -272,6 +285,11 @@ static herr_t build_match_list_attrs(hid_t loc1_id, hid_t loc2_id, table_attrs_t
return 0;
error:
+ if (0 < attr1_id)
+ H5Aclose(attr1_id);
+ if (0 < attr2_id)
+ H5Aclose(attr2_id);
+
return -1;
}