Bridges-Python  3.4.4
Bridges(Python API)
Public Member Functions | Public Attributes | List of all members
bridges.sorting_benchmark.SortingBenchmark Class Reference

Detailed Description

Benchmarks sorting algorithm.

Benchmarks sorting algorithms and add time series to a LineChart.

The benchmark goes from an initial size controlled by setBaseSize() to a largest size controlled by setMaxSize(). One can also set a maximum time spent on a particular run using setTimeCap().

The benchmark goes from a array size of n to the next one of geoBase n + increment, where the base is controlled by geometric and increment is controlled by increment. For simpler use one can set a purley linear sampling with linear_range() or a purely geometric one with geometric_range().

sorting algorithms can be passed to the run function for being benchmarked. A typical use would look something like

def mysort(int array, int arraysize)
@code
lc = LineChart();

sb SortingBenchmark(lc);

sb.linear_range (100, 1000, 5);
sb.run("mysortingalgorithm", mysort);
Author
Erik Saule
Date
07/20/2019

Public Member Functions

def __init__ (self, p)
 
def generator (self)
 
def generator (self, str generator_name)
 
def plot (self)
 
def plot (self, p)
 
def max_size (self)
 Getter for the max_size of array. More...
 
def max_size (self, size)
 Puts a cap on the largest array to be used. More...
 
def base_size (self)
 
def base_size (self, size)
 Smallest array to be used. More...
 
def increment (self)
 
def increment (self, inc)
 Sets the increment for the benchmark size. More...
 
def geometric (self)
 
def geometric (self, base)
 Sets a geometric progression for the benchmark size. More...
 
def time_cap (self)
 
def time_cap (self, cap_in_ms)
 
def linear_range (self, base_sz, max_sz, nb_point)
 
def geometric_range (self, base_sz, max_sz, base)
 
def run (self, algo_name, runnable)
 benchmark one implementation More...
 

Public Attributes

 r
 
 debug
 
 base_size
 
 max_size
 
 increment
 
 geometric
 

Constructor & Destructor Documentation

◆ __init__()

def bridges.sorting_benchmark.SortingBenchmark.__init__ (   self,
  p 
)

Member Function Documentation

◆ base_size() [1/2]

def bridges.sorting_benchmark.SortingBenchmark.base_size (   self)

◆ base_size() [2/2]

def bridges.sorting_benchmark.SortingBenchmark.base_size (   self,
  size 
)

Smallest array to be used.

Parameters
sizesize of the smallest array to use

◆ generator() [1/2]

def bridges.sorting_benchmark.SortingBenchmark.generator (   self)

◆ generator() [2/2]

def bridges.sorting_benchmark.SortingBenchmark.generator (   self,
str  generator_name 
)
Parameters
generator_namepossible values are "random", "inorder", "reverseorder", "fewdifferentvalues", "almostsorted"

◆ geometric() [1/2]

def bridges.sorting_benchmark.SortingBenchmark.geometric (   self)

◆ geometric() [2/2]

def bridges.sorting_benchmark.SortingBenchmark.geometric (   self,
  base 
)

Sets a geometric progression for the benchmark size.

Parameters
basenew base of the geometric progression

◆ geometric_range()

def bridges.sorting_benchmark.SortingBenchmark.geometric_range (   self,
  base_sz,
  max_sz,
  base 
)

◆ increment() [1/2]

def bridges.sorting_benchmark.SortingBenchmark.increment (   self)

◆ increment() [2/2]

def bridges.sorting_benchmark.SortingBenchmark.increment (   self,
  inc 
)

Sets the increment for the benchmark size.

Parameters
incnew value of the increment

◆ linear_range()

def bridges.sorting_benchmark.SortingBenchmark.linear_range (   self,
  base_sz,
  max_sz,
  nb_point 
)

◆ max_size() [1/2]

def bridges.sorting_benchmark.SortingBenchmark.max_size (   self)

Getter for the max_size of array.

Returns
the max size

◆ max_size() [2/2]

def bridges.sorting_benchmark.SortingBenchmark.max_size (   self,
  size 
)

Puts a cap on the largest array to be used.

Parameters
sizeMaximum size considered

◆ plot() [1/2]

def bridges.sorting_benchmark.SortingBenchmark.plot (   self)

◆ plot() [2/2]

def bridges.sorting_benchmark.SortingBenchmark.plot (   self,
  p 
)

◆ run()

def bridges.sorting_benchmark.SortingBenchmark.run (   self,
  algo_name,
  runnable 
)

benchmark one implementation

Parameters
algo_namescreen name of the algorithm to be used in the visualization
runnablepointer to the sorting function to benchmark :return:

◆ time_cap() [1/2]

def bridges.sorting_benchmark.SortingBenchmark.time_cap (   self)

◆ time_cap() [2/2]

def bridges.sorting_benchmark.SortingBenchmark.time_cap (   self,
  cap_in_ms 
)

Member Data Documentation

◆ base_size

bridges.sorting_benchmark.SortingBenchmark.base_size

◆ debug

bridges.sorting_benchmark.SortingBenchmark.debug

◆ geometric

bridges.sorting_benchmark.SortingBenchmark.geometric

◆ increment

bridges.sorting_benchmark.SortingBenchmark.increment

◆ max_size

bridges.sorting_benchmark.SortingBenchmark.max_size

◆ r

bridges.sorting_benchmark.SortingBenchmark.r

The documentation for this class was generated from the following file: