Import('env') env.IMPModuleDoc(env.IMPModuleGetDocs(), authors=["Daniel Russel", "Dina Schneidman"], brief="MODULENAME provides benchmarks of a variety of aspects of \\imp", publications=env.StandardPublications(), license=env.StandardLicense(), overview="""The benchmarks are run daily on flute.ucsf.edu. The results are displayed normalized against the fastest runtime in each set (with a few exceptions, noted below). Each benchmark is shown first in a "fast" build and second in a "release" build with checks disabled to give an idea of the speed comparison. The benchmark source codes can be found in the bin directory of the benchmark module. A simple Brownian dynamics simulation with the specified number of particles \\image html "benchmark/doc/bdfast.png" \\image html "benchmark/doc/bdrelease.png" A simple test modifying the particles and (for the 'score' entries) evaluating a simple, incremental, score. \\image html "benchmark/doc/changingfast.png" \\image html "benchmark/doc/changingrelease.png" The various IMP::core::ClosePairFinder implementations are benchmarked on random sets of particles. The benchmarks for the quadratic one are listed as taking 10x less time than they did. \\image html "benchmark/doc/cpffast.png" \\image html "benchmark/doc/cpfrelease.png" A benchmark of the various close pairs finders in the context of a simulation. The benchmarks for the quadratic one are listed as taking 10x less time than they did. \\image html "benchmark/doc/colfast.png" \\image html "benchmark/doc/colrelease.png" A special close pair finder is provided for rigid bodies, name IMP::core::RigidClosePairsFinder. Here it is compared against using all the member particles. \\image html "benchmark/doc/rigidfast.png" \\image html "benchmark/doc/rigidrelease.png" There are several ways of doing connectivity restraints in \imp: IMP::misc::ConnectedPairContainer and IMP::core::ConnectivityRestraint. They are benchmarked here. \\image html "benchmark/doc/connectivityfast.png" \\image html "benchmark/doc/connectivityrelease.png" The next benchmark looks at evaluating restraints on various sorts of containers, namely IMP::core::ListSingletonContainer and IMP::core::SingletonContainerSet. \\image html "benchmark/doc/containerfast.png" \\image html "benchmark/doc/containerrelease.png" When peforming lots of operations on a set of cartesian coordinates and is faster to copy them into a IMP::algebra::Vector3Ds than to access them in the IMP::core::XYZ decorator each time. This benchmark gives an idea of the speed tradeoffs involved. \\image html "benchmark/doc/xyzfast.png" \\image html "benchmark/doc/xyzrelease.png" """)