mirror of https://github.com/CGAL/cgal
Boost.Bimap is a bit faster (150-190% faster), and less memory-consumer. Whereas the old Double_map implementation does not seem to be sensitive to caching effects, the Bimap implementation seems to be faster when run twice or more. See the measurements bellow. Three runs of ./bench_double_map.bimap and ./bench_double_map.cgal. They are both compiled with -O2, and ./bench_double_map.bimap is compiled with -DCGAL_USE_BOOST_BIMAP -I<path_to_boost_bimap>. lrineau@tsetse ~/CGAL/Packages/Mesh_2/test/Mesh_2 $ for in in 1 2 3; do echo 'BIMAP'; ./bench_double_map.bimap 200000 30; echo 'OLD DOUBLE_MAP'; ./bench_double_map.cgal 200000 30; done BIMAP Total time: 4.41933 Time for 'insert': 3.15152 Time for 'pop_front': 1.26781 Resident memory: 14843904 Virtual memory: 26423296 OLD DOUBLE_MAP Total time: 6.581 Time for 'insert': 4.5593 Time for 'pop_front': 2.0217 Resident memory: 18030592 Virtual memory: 29519872 BIMAP Total time: 3.56746 Time for 'insert': 2.49262 Time for 'pop_front': 1.07484 Resident memory: 14843904 Virtual memory: 26427392 OLD DOUBLE_MAP Total time: 6.76597 Time for 'insert': 4.70729 Time for 'pop_front': 2.05869 Resident memory: 18034688 Virtual memory: 29519872 BIMAP Total time: 3.51347 Time for 'insert': 2.43964 Time for 'pop_front': 1.07383 Resident memory: 14856192 Virtual memory: 26427392 OLD DOUBLE_MAP Total time: 6.74597 Time for 'insert': 4.6183 Time for 'pop_front': 2.12768 Resident memory: 17854464 Virtual memory: 29523968 |
||
|---|---|---|
| .. | ||
| IO | ||
| Mesh_2 | ||
| Delaunay_mesh_area_criteria_2.h | ||
| Delaunay_mesh_criteria_2.h | ||
| Delaunay_mesh_face_base_2.h | ||
| Delaunay_mesh_local_size_criteria_2.h | ||
| Delaunay_mesh_size_criteria_2.h | ||
| Delaunay_mesher_2.h | ||
| Double_map.h | ||
| Filter_circulator.h | ||
| Mesher_level.h | ||
| Mesher_level_default_implementations.h | ||
| Mesher_level_visitors.h | ||
| Triangulation_conformer_2.h | ||