cgal/Mesh_2/include/CGAL/Mesh_2
Laurent Rineau f1d5ec3a62 Use Boost.Bimap in Double_map.
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
2007-03-14 18:53:37 +00:00
..
Clusters.h Fixed min max problem 2006-07-30 13:09:30 +00:00
Face_badness.h Copy Mesh_2, Mesh_3 and Surface_mesher, from the branch 2006-06-06 13:38:15 +00:00
Filtered_queue_container.h Copy Mesh_2, Mesh_3 and Surface_mesher, from the branch 2006-06-06 13:38:15 +00:00
Output_stream.h - new debug macros: 2006-07-10 09:25:35 +00:00
README Copy Mesh_2, Mesh_3 and Surface_mesher, from the branch 2006-06-06 13:38:15 +00:00
Refine_edges.h Cosmetic changes in this file: rename "z" to "zone", and the boolean 2006-12-07 15:57:16 +00:00
Refine_edges_visitor.h Copy Mesh_2, Mesh_3 and Surface_mesher, from the branch 2006-06-06 13:38:15 +00:00
Refine_edges_with_clusters.h fixed min/max problem 2006-08-17 09:14:39 +00:00
Refine_faces.h Use Boost.Bimap in Double_map. 2007-03-14 18:53:37 +00:00
Triangulation_mesher_level_traits_2.h Copy Mesh_2, Mesh_3 and Surface_mesher, from the branch 2006-06-06 13:38:15 +00:00
Triangulation_mesher_level_traits_3.h fixed min/max problem 2006-08-17 09:14:39 +00:00

README

No header in this sub-directory, but Face_badness.h, is documented. They
are internal headers of the Mesh_2 packages, and should not be used.

If you want to use some undocumented functionnality, please contact me
(Laurent Rineau <laurent.rineau@ens.fr>) so that we can see if I can move
some internal details to the documented interface.