source: anuga_core/source/anuga/fit_interpolate/run_long_benchmark.py @ 4859

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

check the last triangle fit/interp speed up. Upgrading the code to time runs

File size: 3.8 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. 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
52maxArea_list = [0.61] 
53num_of_points_list = [4] 
54
55
56
57
58max_points_per_cell_list = [13]
59use_file_type_list = ['pts']
60run_profile =   False # True #True # False #
61gridded_list = [True] #, False]
62
63
64if run_profile is True:
65    ofile = 'profiling_lbm_results.csv'
66else:
67    ofile = 'lbm_results.csv'
68fd = open(ofile,'a')
69# write the title line
70
71fd.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
85for 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")
119fd.close()                         
Note: See TracBrowser for help on using the repository browser.