mirror of https://github.com/CGAL/cgal
The gain on copies of T2 or T3 is the following:
afabri@klimt /cygdrive/c/cgal/next/Triangulation_3/benchmark/Triangulation_3
$ ./copy 1000000 2
36.806 sec
afabri@klimt /cygdrive/c/cgal/next/Triangulation_3/benchmark/Triangulation_3
$ ./copy 1000000 2
4.865 sec
The benchmarck copy.cpp is the following (not commited):
#define CGAL_T3_HASH
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Delaunay_triangulation_3.h>
#include <CGAL/Timer.h>
#include <CGAL/point_generators_3.h>
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Delaunay_triangulation_3<K> Delaunay;
typedef K::Point_3 Point;
typedef CGAL::Creator_uniform_3<double,Point> Creator;
int main(int argc, char **argv)
{
int n=1000000;
int rep=100;
if (argc>=2)
n=atoi(argv[1]);
if (argc>=3)
rep=atoi(argv[2]);
std::vector<Point> points;
points.reserve(n);
CGAL::Random_points_in_sphere_3<Point,Creator> g(1);
CGAL::copy_n( g, n, std::back_inserter(points));
Delaunay original;
original.insert(points.begin(),points.end());
double res = 0;
for (int r=0;r<rep;++r){
CGAL::Timer t; t.start();
Delaunay delaunay=original;
t.stop();
res+=t.time();
}
std::cout << res << std::endl;
return 0;
}
|
||
|---|---|---|
| .. | ||
| IO | ||
| predicates | ||
| Constrained_Delaunay_triangulation_2.h | ||
| Constrained_triangulation_2.h | ||
| Constrained_triangulation_face_base_2.h | ||
| Constrained_triangulation_plus_2.h | ||
| Constraint_hierarchy_2.h | ||
| Delaunay_triangulation_2.h | ||
| Distance_2.h | ||
| Dummy_tds_2.h | ||
| Regular_triangulation_2.h | ||
| Regular_triangulation_euclidean_traits_2.h | ||
| Regular_triangulation_face_base_2.h | ||
| Regular_triangulation_filtered_traits_2.h | ||
| Regular_triangulation_vertex_base_2.h | ||
| Triangulation_2.h | ||
| Triangulation_2_filtered_projection_traits_3.h | ||
| Triangulation_2_projection_traits_3.h | ||
| Triangulation_2_traits_3.h | ||
| Triangulation_data_structure_2.h | ||
| Triangulation_data_structure_using_list_2.h | ||
| Triangulation_default_data_structure_2.h | ||
| Triangulation_ds_circulators_2.h | ||
| Triangulation_ds_face_2.h | ||
| Triangulation_ds_face_base_2.h | ||
| Triangulation_ds_iterators_2.h | ||
| Triangulation_ds_vertex_2.h | ||
| Triangulation_ds_vertex_base_2.h | ||
| Triangulation_euclidean_traits_2.h | ||
| Triangulation_euclidean_traits_xy_3.h | ||
| Triangulation_euclidean_traits_xz_3.h | ||
| Triangulation_euclidean_traits_yz_3.h | ||
| Triangulation_face_base_2.h | ||
| Triangulation_face_base_with_info_2.h | ||
| Triangulation_hierarchy_2.h | ||
| Triangulation_hierarchy_vertex_base_2.h | ||
| Triangulation_iterator_adaptator.h | ||
| Triangulation_line_face_circulator_2.h | ||
| Triangulation_structural_filtering_traits.h | ||
| Triangulation_utils_2.h | ||
| Triangulation_vertex_base_2.h | ||
| Triangulation_vertex_base_with_info_2.h | ||
| Trivial_iterator.h | ||
| Weighted_point.h | ||
| apply_to_range.h | ||
| constructions_on_weighted_points_cartesian_2.h | ||
| constructions_on_weighted_points_homogeneous_2.h | ||
| triangulation_assertions.h | ||