Skip to content
  • Brad King's avatar
    ENH: Use hash_map in vtkInformation · 45f1c414
    Brad King authored
    The commit "perf improvement convert to using a flat hash" created a
    hand-crafted hash table implementation to improve speed.  The commits
    "fix UMR in SetAsObjectBase", and "Fixed access beyond bounds bug" later
    fixed some memory access problems with the implementation.  However, it
    still has at least one memory access violation in rare cases.
    
    Instead of maintaining a hand-crafted hash table implementation it is
    simpler to use the existing, well-tested hash_map.  The VTK test case
    SpherePuzzleArrows-image creates many pipeline objects that use
    vtkInformation instances, so it makes a good test case to compare
    performance.  Time spent in vtkInformation::GetAsObjectBase increased by
    a factor of about 4 but in absolute terms the time spent in the method
    is still small compared to time spent elsewhere in VTK.
    
    Although this change slows vtkInformation a bit, it should avoid memory
    access problems altogether.  If performance is a problem in the future
    we can then justify spending more time on vtkInformation optimization.
    45f1c414