def mult_c(input_a, input_b, output): f = 0 l = len(input_a) m = f + int(l * 0.2) while f != m: a = input_a[f] b = input_b[f] output[f] = a * b f += 1 t1 = hrc.nanoseconds_since_epoch() while m != l: a = input_a[m] b = input_b[m] output[m] = a * b m += 1 t2 = hrc.nanoseconds_since_epoch() return t2 - t1
def sort_entity_key_3(data): t1 = hrc.nanoseconds_since_epoch() sdata = sorted(data, key=lambda x: x.a) sdata = sorted(sdata, key=lambda x: x.b) sdata = sorted(sdata, key=lambda x: x.c) t2 = hrc.nanoseconds_since_epoch() return t2 - t1
def sort_with_key_4(data): t1 = hrc.nanoseconds_since_epoch() sdata = sorted(data, key=lambda x: (x & 0b00000000000000001111111111111111, )) sdata.sort(key=lambda x: (x & 0b11111111111111110000000000000000, )) t2 = hrc.nanoseconds_since_epoch() return t2 - t1
def mult_b(input, output): f = 0 l = len(input) m = f + int(l * 0.2) while f != m: a = input[f][0] b = input[f][1] # print(output[f]); output[f] = a * b f += 1 t1 = hrc.nanoseconds_since_epoch() while m != l: a = input[m][0] b = input[m][1] output[m] = a * b m += 1 t2 = hrc.nanoseconds_since_epoch() return t2 - t1
def mult_a(data): # print(data[0]); f = 0 l = len(data) m = f + int(l * 0.2) while f != m: a = data[f][0] b = data[f][1] # data[f][0] = a * b data[f] = [a * b, b] f += 1 t1 = hrc.nanoseconds_since_epoch() while m != l: a = data[m][0] b = data[m][1] # data[m][0] = a * b data[m] = [a * b, b] m += 1 t2 = hrc.nanoseconds_since_epoch() return t2 - t1
def mult_f(input_a, input_b): f = 0 l = len(input_a) m = f + int(l * 0.2) while f != m: a = input_a[f] b = input_b[f] prod = a * b # print("a: ", a) # print("b: ", b) # print("prod: ", prod) f += 1 t1 = hrc.nanoseconds_since_epoch() while m != l: a = input_a[m] b = input_b[m] prod = a * b m += 1 t2 = hrc.nanoseconds_since_epoch() return t2 - t1
def mult_e(input_output, input): # print(input_output[0]); f = 0 l = len(input) m = f + int(l * 0.2) while f != m: a = input_output[f] b = input[f] input_output[f] = a * b f += 1 t1 = hrc.nanoseconds_since_epoch() while m != l: a = input_output[m] b = input[m] input_output[m] = a * b m += 1 t2 = hrc.nanoseconds_since_epoch() return t2 - t1
def mult_d(data): f = 0 l = len(data) m = f + int(l * 0.2) while f != m: a = data[f][0] b = data[f][1] # data[f][2] = a * b # tuples are immutables in Python data[f] = [a, b, a * b] # workaround f += 1 # print("------------------------------------") t1 = hrc.nanoseconds_since_epoch() while m != l: a = data[m][0] b = data[m][1] # data[m][2] = a * b # tuples are immutables in Python data[m] = [a, b, a * b] # workaround m += 1 t2 = hrc.nanoseconds_since_epoch() return t2 - t1
def amortize(test, count): t1 = hrc.nanoseconds_since_epoch() for i in range(0, count): test() t2 = hrc.nanoseconds_since_epoch() ns = (t2 - t1) #/ count # print(ns) return ns / count
def sort_triangle_cmp_1(data): t1 = hrc.nanoseconds_since_epoch() sdata = sorted(data, cmp=weak_ordering_triangle_cmp_1) t2 = hrc.nanoseconds_since_epoch() return t2 - t1
def sort_container_key_1_extra(data): t1 = hrc.nanoseconds_since_epoch() sdata = sorted(data, key=lambda x: extra_call(x)) t2 = hrc.nanoseconds_since_epoch() return t2 - t1
def sort_container_key_1(data): t1 = hrc.nanoseconds_since_epoch() sdata = sorted(data, key=lambda x: x.t) t2 = hrc.nanoseconds_since_epoch() return t2 - t1
def sort_entity_cmp_5(data): t1 = hrc.nanoseconds_since_epoch() sdata = sorted(data, cmp=weak_ordering_entity_cmp_5) t2 = hrc.nanoseconds_since_epoch() return t2 - t1
def sort_with_cmp_4(data): t1 = hrc.nanoseconds_since_epoch() sdata = sorted(data, cmp=weak_ordering_cmp_4) t2 = hrc.nanoseconds_since_epoch() return t2 - t1
def sort_with_key_1(data): t1 = hrc.nanoseconds_since_epoch() sdata = sorted(data, key=lambda x: (x, )) t2 = hrc.nanoseconds_since_epoch() return t2 - t1
def sort_just_sort(data): # print(data[0]) t1 = hrc.nanoseconds_since_epoch() sdata = sorted(data) t2 = hrc.nanoseconds_since_epoch() return t2 - t1