Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

GridSearchPairlist Struct Reference

Linked list of ResizeArrays containing pairlists, optimized for multithreading. Compared with the GridSearchPair linked list, The list of ResizeArrays uses half as much memory per pair, reduces the malloc calls so they are logarithmic rather than linear with the number of bonds, and reduces free call count to one per-thread down from one per-bond. Since the ResizeArray results in a contiguous block of memory, the traversal coherency is also significantly improved. Ultimately we should convert all of the grid search routines to use this type of data structure, or one like it. More...

#include <SpatialSearch.h>

List of all members.

Public Attributes

ResizeArray< int > * pairlist
GridSearchPairlist * next


Detailed Description

Linked list of ResizeArrays containing pairlists, optimized for multithreading. Compared with the GridSearchPair linked list, The list of ResizeArrays uses half as much memory per pair, reduces the malloc calls so they are logarithmic rather than linear with the number of bonds, and reduces free call count to one per-thread down from one per-bond. Since the ResizeArray results in a contiguous block of memory, the traversal coherency is also significantly improved. Ultimately we should convert all of the grid search routines to use this type of data structure, or one like it.

Definition at line 52 of file SpatialSearch.h.


Member Data Documentation

GridSearchPairlist* GridSearchPairlist::next
 

Definition at line 54 of file SpatialSearch.h.

Referenced by bondsearchthread, vmd_bond_search, vmd_bondsearch_thr, and vmd_gridsearch_bonds.

ResizeArray<int>* GridSearchPairlist::pairlist
 

Definition at line 53 of file SpatialSearch.h.

Referenced by bondsearchthread, and vmd_bond_search.


The documentation for this struct was generated from the following file:
Generated on Sat Apr 20 02:45:16 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002