Page MenuHome

stats.py

import sys
from math import *
names = ['random', 'cluster', 'cluster-percent', 'data', 'data-percent', 'indices', 'indices-percent', 'machine memory']
keys = {}
for i, k in enumerate(names):
keys[k] = i
random, cluster, percent, data, percent, indices, percent, mem = range(8)
table = [
[1.22, 1.04, 14.42, 0.73, 67, 0.94, 29, 0],
[1.49, 1.46, 2.35, 1.10, 36, 1.17, 27, 0],
[1.29, 1.13, 14, 0.75, 71.54, 0.89, 45.08 , 0],
[1.58, 1.40, 12.3, 1.09, 44.7, 1.11, 42.42, 16],
[1.53, 1.36, 12.77, 1.08, 41.6, 1.07, 42.91, 0],
[1.56, 1.39, 12.47, 1.09, 42.65, 1.10, 42.15, 16],
[1.22, 1.06, 15.05, 0.75, 63.85, 0.82, 49.67, 32],
[2.32, 1.99, 16.54, 1.87, 23.80, 1.50, 54.89, 16],
#5800x with 32gb and 3070
[0.86, 0.76, 12.14, 0.28, 202.44, 0.57, 51.13, 32],
[0.87, 0.76, 14.0, 0.54, 61.47, 0.72, 20.16, 32],
]
def write_markdown():
out = ""
out += "|random|cluster|% improvement|data|%improvement|indices|%improvement|memory|\n"
out += "|"
for i in range(8):
out += "--------|"
out += "\n"
for row in table:
out += "|"
for item in row:
out += str(item) + "|"
out += "\n"
print(out)
return out
write_markdown()
avgs = {}
var = {}
tot = {}
totsq = {}
median = {}
for k in keys:
avgs[k] = 0.0
var[k] = 0.0
tot[k] = 0.0
totsq[k] = 0.0
median[k] = []
for row in table:
while len(row) < 8:
row.append(-1)
for k in keys:
ki = keys[k]
median[k].append(row[ki])
avgs[k] += row[ki]
tot[k] += 1.0
totsq[k] += row[ki]**2
maxkey = 0
for k in keys:
maxkey = max(maxkey, len(k))
print("\n")
chunks = []
for k in keys:
ki = keys[k]
avgs[k] /= tot[k]
if k == "mem":
continue
s = "[" + k + "] "
while len(s) < maxkey + 3:
s += " "
s += " average: %.2f" % avgs[k]
varsum = 0.0
totsq[k] = totsq[k]**0.5
for row in table:
varsum += (row[ki] - avgs[k])**2
varsum /= tot[k]
varsum = varsum**0.5
s += " variange: %.2f" % varsum
median[k].sort()
i2 = len(median[k])>>1
if len(median[k]) % 2 == 0:
median2 = median[k][i2]*0.5 + median[k][i2+1]*0.5
else:
median2 = median[k][i2]
s += " median: %.2f" % median2
chunks.append(s)
print(s)
cols = 3
chunks = [s.split("\n") for s in chunks]
wid = 0
hgt = 0
for lines in chunks:
hgt = max(hgt, len(lines))
for l in lines:
wid = max(wid, len(l))
totcol = int(ceil(100 / wid))
print(wid, hgt, totcol)
print("\ntotal samples:", len(table))
lines = []
for lines2 in chunks:
pass

File Metadata

Mime Type
text/x-python
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
7f/e0/6e99664599f5edf711ee374a9d33

Event Timeline