source: trunk/anuga_core/source/anuga/fit_interpolate/run_long_benchmark.py @ 7876

Last change on this file since 7876 was 4872, checked in by duncan, 16 years ago

fitting benchmark update. Investigating adding neighbour triangles in fitting.

File size: 4.4 KB
Line 
1"""
2This runs some benchmark tests, using the data here as input.
3
4The output is a txt file with timings and memory use info.
5
6Check pyvolution.run_profile for an example of how to use the python profile
7module.
8
9"""
10from benchmark_least_squares import BenchmarkLeastSquares
11
12ben = BenchmarkLeastSquares()
13
14delimiter = ','
15
16use_least_squares_list = [False]
17is_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]
47num_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
61maxArea_list = [0.0001] 
62num_of_points_list = [1000]
63
64
65
66max_points_per_cell_list = [4]
67use_file_type_list = ['pts']
68run_profile =  False # True #True # False #
69gridded_list = [True, False]
70geo_ref_list = [True, False]
71
72if run_profile is True:
73    ofile = 'profiling_lbm_results.csv'
74else:
75    ofile = 'lbm_results.csv'
76fd = open(ofile,'a')
77# write the title line
78
79fd.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
94for 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")
131fd.close()                         
Note: See TracBrowser for help on using the repository browser.