def algoAnalysis(fn, nMin, nMax, mode): """ Run timer and plot time complexity """ n = [] time_result = [] y_result = [] y_err = [] for i in [j*32 for j in range(nMin,nMax+1)]: with timer() as t: temp_result, temp_err = fn(i, mode) time_result.append(t.msecs) y_result.append(temp_result) y_err.append(temp_err) n.append(i) return n, time_result, y_result, y_err
import random from itertools import izip from itertools import islice from pprint import pprint from bisect import bisect from optparse import OptionParser import my_timer # equal fitness function def eq_fit(): return 1 full_t = my_timer.timer() tt = my_timer.timer() def record_stop(pop): tt.stop() pop.dvars().perform.append(tt.elapsed_long()) return True def record_start(pop): global tt tt.start() return True
import simuPOP as sim import random from itertools import izip from itertools import islice from pprint import pprint from bisect import bisect from optparse import OptionParser import my_timer # equal fitness function def eq_fit(): return 1 tt = my_timer.timer() def record_start(pop): tt.start() return True def record_stop(pop): tt.stop() pop.dvars().perform.append( tt.elapsed_long() ) return True # modified version of model provided in User Guide (pg. 86-87) def infSitesMutate(pop, param): (startPos, endPos, rate) = param # determine the number of mutation events occurring in this generation nEvents = sim.getRNG().randPoisson( rate )