1 | """ |
---|
2 | This runs some benchmark tests, using the data here as input. |
---|
3 | |
---|
4 | The output is a txt file with timings and memory use info. |
---|
5 | |
---|
6 | Check pyvolution.run_profile for an example of how to use the python profile |
---|
7 | module. |
---|
8 | |
---|
9 | """ |
---|
10 | from benchmark_least_squares import BenchmarkLeastSquares |
---|
11 | |
---|
12 | ben = BenchmarkLeastSquares() |
---|
13 | |
---|
14 | delimiter = ',' |
---|
15 | |
---|
16 | use_least_squares_list = [False] |
---|
17 | is_fit_list = [True] #[True, False] |
---|
18 | |
---|
19 | # a maxArea of 0.00001 gives 155195 triangles |
---|
20 | # Simulating Cairns. |
---|
21 | |
---|
22 | #maxArea_list = [0.00001] |
---|
23 | #num_of_points_list = [1863558] |
---|
24 | |
---|
25 | # Simulating 1 tenth of Cairns. |
---|
26 | |
---|
27 | #maxArea_list = [0.0001] |
---|
28 | #num_of_points_list = [186558] |
---|
29 | |
---|
30 | # a maxArea of 0.0001 gives 15568 triangles |
---|
31 | #maxArea_list = [0.0001] |
---|
32 | #num_of_points_list = [46704] |
---|
33 | |
---|
34 | # a maxArea of 0.001 gives 1539 triangles |
---|
35 | # 3 points/tri is 4617 |
---|
36 | # 20 points/tri is 30780 |
---|
37 | # 132 points/tri is 203148 |
---|
38 | #maxArea_list = [0.001] |
---|
39 | #num_of_points_list = [4617,30780,203148] |
---|
40 | #num_of_points_list = [203148] |
---|
41 | |
---|
42 | # a maxArea of 0.005 gives 319 triangles |
---|
43 | # 3 points/tri is 957 |
---|
44 | # 20 points/tri is 6380 |
---|
45 | # 132 points/tri is 42108 |
---|
46 | #maxArea_list = [0.005] |
---|
47 | num_of_points_list = [957,6380,42108] |
---|
48 | |
---|
49 | # a maxArea of 0.01 gives 150 triangles |
---|
50 | # 3 points/tri is 450 |
---|
51 | # 20 points/tri is 3000 |
---|
52 | # 132 points/tri is 19800 |
---|
53 | #maxArea_list = [0.01] |
---|
54 | #num_of_points_list = [450,3000] #,19800] |
---|
55 | |
---|
56 | # Quick check |
---|
57 | #maxArea_list = [0.61] |
---|
58 | #num_of_points_list = [4] |
---|
59 | |
---|
60 | # the auto-validate benchmark fit |
---|
61 | maxArea_list = [0.0001] |
---|
62 | num_of_points_list = [1000] |
---|
63 | |
---|
64 | |
---|
65 | |
---|
66 | max_points_per_cell_list = [4] |
---|
67 | use_file_type_list = ['pts'] |
---|
68 | run_profile = False # True #True # False # |
---|
69 | gridded_list = [True, False] |
---|
70 | geo_ref_list = [True, False] |
---|
71 | |
---|
72 | if run_profile is True: |
---|
73 | ofile = 'profiling_lbm_results.csv' |
---|
74 | else: |
---|
75 | ofile = 'lbm_results.csv' |
---|
76 | fd = open(ofile,'a') |
---|
77 | # write the title line |
---|
78 | |
---|
79 | fd.write("use_file_type" + delimiter + |
---|
80 | "num_of_points" + delimiter + |
---|
81 | "maxArea" + delimiter + |
---|
82 | "num_of_triangles" + delimiter + |
---|
83 | "max_points_per_cell" + delimiter + |
---|
84 | "is_fit" + delimiter + |
---|
85 | "is_gridded" + delimiter + |
---|
86 | "has_geo_ref" + delimiter + |
---|
87 | "search_one_cell_time" + delimiter + |
---|
88 | "search_more_cells_time" + delimiter + |
---|
89 | "build_quadtree_time" + delimiter + |
---|
90 | "mem" + delimiter + |
---|
91 | "time" + delimiter + "\n") |
---|
92 | |
---|
93 | |
---|
94 | for is_fit in is_fit_list: |
---|
95 | for gridded in gridded_list: |
---|
96 | for geo_ref in geo_ref_list: |
---|
97 | for maxArea in maxArea_list: |
---|
98 | for use_file_type in use_file_type_list: |
---|
99 | for num_of_points in num_of_points_list: |
---|
100 | for max_points_per_cell in max_points_per_cell_list: |
---|
101 | |
---|
102 | time, mem, num_tri, one_t, more_t, quad_t = ben.trial( |
---|
103 | num_of_points=num_of_points |
---|
104 | ,maxArea=maxArea |
---|
105 | ,max_points_per_cell=max_points_per_cell |
---|
106 | ,is_fit=is_fit |
---|
107 | ,segments_in_mesh=False |
---|
108 | ,use_file_type=use_file_type |
---|
109 | ,save=True |
---|
110 | ,verbose=False |
---|
111 | ,run_profile=run_profile |
---|
112 | ,gridded=gridded |
---|
113 | ,geo_ref=geo_ref |
---|
114 | ) |
---|
115 | print "time",time |
---|
116 | print "mem", mem |
---|
117 | print "num_tri", num_tri |
---|
118 | fd.write(str(use_file_type) + delimiter + |
---|
119 | str(num_of_points) + delimiter + |
---|
120 | str(maxArea) + delimiter + |
---|
121 | str(num_tri) + delimiter + |
---|
122 | str(max_points_per_cell) + delimiter + |
---|
123 | str(is_fit) + delimiter + |
---|
124 | str(gridded) + delimiter + |
---|
125 | str(geo_ref) + delimiter + |
---|
126 | str(one_t) + delimiter + |
---|
127 | str(more_t) + delimiter + |
---|
128 | str(quad_t) + delimiter + |
---|
129 | str(mem) + delimiter + |
---|
130 | str(time) + delimiter + "\n") |
---|
131 | fd.close() |
---|