diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2003-10-06 19:14:15 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2003-10-06 19:14:15 (GMT) |
commit | c708028588d0d79e8ffc9dc96cbdb4dc0f63025a (patch) | |
tree | cee08927d21e92bf5dd57b50c040c3df78e522ff /doc | |
parent | 98dfa67e89bb99f3baee80a1364e4f3555b03abd (diff) | |
download | hdf5-c708028588d0d79e8ffc9dc96cbdb4dc0f63025a.zip hdf5-c708028588d0d79e8ffc9dc96cbdb4dc0f63025a.tar.gz hdf5-c708028588d0d79e8ffc9dc96cbdb4dc0f63025a.tar.bz2 |
[svn-r7553] Purpose:
Improved algorithm (bug fix, sorta)
Description:
The internal algorithm for adding new IDs in the ID manager code (H5I) was
adding new IDs to the front of the linked list and never adjusting the order
of the items on the list (unless an ID was deleted). If many new objects were
created, they would push earlier ones _way_ down the list (especially if the
objects were being leaked in the application, as they appear to be in the
current HDF-EOS5 library) and would cause O(n) search time for items on the
list.
The ID caching code in the ID manager was avoiding this behavior sometimes,
but it was adding IDs that were looked up to the very tail of the cache and
they would frequently leave the cache before helping.
Solution:
Implemented a "move to front" scheme for the linked list of IDs, which
improves the lookup situation for frequently accessed objects.
Removed ID caching code now, as the "move to front" algorithm actually
works better.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Diffstat (limited to 'doc')
0 files changed, 0 insertions, 0 deletions