""" This runs some benchmark tests, using the data here as input. The output is a txt file with timings and memory use info. Check pyvolution.run_profile for an example of how to use the python profile module. """ from benchmark_least_squares import BenchmarkLeastSquares ben = BenchmarkLeastSquares() delimiter = ',' use_least_squares_list = [False] is_fit_list = [True, False] # 45 is for the interp example # 4617 is 3 points per triangle #30780 is 20 points per triangle # 92340 is 60 points per triangle num_of_points_list = [92340] #[45,4617,30780,92340,] #, 500, 10000, 100000] #, 10000000] maxArea_list = [0.001] #,0.00001] #, 0.0000001] #, 0.06, 0.00001, 0.0000001] max_points_per_cell_list = [13] use_file_type_list = ['pts'] run_profile = True if run_profile is True: ofile = 'profiling_lbm_results.csv' else: ofile = 'lbm_results.csv' fd = open(ofile,'a') # write the title line fd.write("use_file_type" + delimiter + "num_of_points" + delimiter + "maxArea" + delimiter + "num_of_triangles" + delimiter + "max_points_per_cell" + delimiter + "is_fit" + delimiter + "search_one_cell_time" + delimiter + "search_more_cells_time" + delimiter + "build_quadtree_time" + delimiter + "mem" + delimiter + "time" + delimiter + "\n") for is_fit in is_fit_list: for maxArea in maxArea_list: for use_file_type in use_file_type_list: for num_of_points in num_of_points_list: for max_points_per_cell in max_points_per_cell_list: time, mem, num_tri, one_t, more_t, quad_t = ben.trial( num_of_points=num_of_points ,maxArea=maxArea ,max_points_per_cell=max_points_per_cell ,is_fit=is_fit ,segments_in_mesh=False ,use_file_type=use_file_type ,save=True ,run_profile=run_profile ) print "time",time print "mem", mem print "num_tri", num_tri fd.write(str(use_file_type) + delimiter + str(num_of_points) + delimiter + str(maxArea) + delimiter + str(num_tri) + delimiter + str(max_points_per_cell) + delimiter + str(is_fit) + delimiter + str(one_t) + delimiter + str(more_t) + delimiter + str(quad_t) + delimiter + str(mem) + delimiter + str(time) + delimiter + "\n") fd.close()