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. Seemed to take too long to run. Need to Try again. |
---|
21 | |
---|
22 | #maxArea_list = [0.00001] |
---|
23 | #num_of_points_list = [1863558] |
---|
24 | |
---|
25 | # a maxArea of 0.0001 gives 15568 triangles |
---|
26 | #maxArea_list = [0.0001] |
---|
27 | #num_of_points_list = [46704] |
---|
28 | |
---|
29 | # a maxArea of 0.001 gives 1539 triangles |
---|
30 | # 3 points/tri is 4617 |
---|
31 | # 20 points/tri is 30780 |
---|
32 | # 132 points/tri is 203148 |
---|
33 | #maxArea_list = [0.001] |
---|
34 | #num_of_points_list = [4617,30780,203148] |
---|
35 | #num_of_points_list = [203148] |
---|
36 | |
---|
37 | # a maxArea of 0.005 gives 319 triangles |
---|
38 | # 3 points/tri is 957 |
---|
39 | # 20 points/tri is 6380 |
---|
40 | # 132 points/tri is 42108 |
---|
41 | #maxArea_list = [0.005] |
---|
42 | #num_of_points_list = [957,6380,42108] |
---|
43 | |
---|
44 | # a maxArea of 0.01 gives 150 triangles |
---|
45 | # 3 points/tri is 450 |
---|
46 | # 20 points/tri is 3000 |
---|
47 | # 132 points/tri is 19800 |
---|
48 | #maxArea_list = [0.01] |
---|
49 | #num_of_points_list = [450,3000] #,19800] |
---|
50 | |
---|
51 | # Quick check |
---|
52 | maxArea_list = [0.61] |
---|
53 | num_of_points_list = [4] |
---|
54 | |
---|
55 | |
---|
56 | |
---|
57 | |
---|
58 | max_points_per_cell_list = [13] |
---|
59 | use_file_type_list = ['pts'] |
---|
60 | run_profile = False # True #True # False # |
---|
61 | gridded_list = [True] #, False] |
---|
62 | |
---|
63 | |
---|
64 | if run_profile is True: |
---|
65 | ofile = 'profiling_lbm_results.csv' |
---|
66 | else: |
---|
67 | ofile = 'lbm_results.csv' |
---|
68 | fd = open(ofile,'a') |
---|
69 | # write the title line |
---|
70 | |
---|
71 | fd.write("use_file_type" + delimiter + |
---|
72 | "num_of_points" + delimiter + |
---|
73 | "maxArea" + delimiter + |
---|
74 | "num_of_triangles" + delimiter + |
---|
75 | "max_points_per_cell" + delimiter + |
---|
76 | "is_fit" + delimiter + |
---|
77 | "is_gridded" + delimiter + |
---|
78 | "search_one_cell_time" + delimiter + |
---|
79 | "search_more_cells_time" + delimiter + |
---|
80 | "build_quadtree_time" + delimiter + |
---|
81 | "mem" + delimiter + |
---|
82 | "time" + delimiter + "\n") |
---|
83 | |
---|
84 | |
---|
85 | for is_fit in is_fit_list: |
---|
86 | for gridded in gridded_list: |
---|
87 | for maxArea in maxArea_list: |
---|
88 | for use_file_type in use_file_type_list: |
---|
89 | for num_of_points in num_of_points_list: |
---|
90 | for max_points_per_cell in max_points_per_cell_list: |
---|
91 | |
---|
92 | time, mem, num_tri, one_t, more_t, quad_t = ben.trial( |
---|
93 | num_of_points=num_of_points |
---|
94 | ,maxArea=maxArea |
---|
95 | ,max_points_per_cell=max_points_per_cell |
---|
96 | ,is_fit=is_fit |
---|
97 | ,segments_in_mesh=False |
---|
98 | ,use_file_type=use_file_type |
---|
99 | ,save=True |
---|
100 | ,verbose=False |
---|
101 | ,run_profile=run_profile |
---|
102 | ,gridded=gridded |
---|
103 | ) |
---|
104 | print "time",time |
---|
105 | print "mem", mem |
---|
106 | print "num_tri", num_tri |
---|
107 | fd.write(str(use_file_type) + delimiter + |
---|
108 | str(num_of_points) + delimiter + |
---|
109 | str(maxArea) + delimiter + |
---|
110 | str(num_tri) + delimiter + |
---|
111 | str(max_points_per_cell) + delimiter + |
---|
112 | str(is_fit) + delimiter + |
---|
113 | str(gridded) + delimiter + |
---|
114 | str(one_t) + delimiter + |
---|
115 | str(more_t) + delimiter + |
---|
116 | str(quad_t) + delimiter + |
---|
117 | str(mem) + delimiter + |
---|
118 | str(time) + delimiter + "\n") |
---|
119 | fd.close() |
---|