Skip to content

Instantly share code, notes, and snippets.

@Eliasvan
Created July 8, 2016 21:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Eliasvan/3dbbff50c99f5409fca7c6d4f6cc927b to your computer and use it in GitHub Desktop.
Save Eliasvan/3dbbff50c99f5409fca7c6d4f6cc927b to your computer and use it in GitHub Desktop.
# References to test-data:
# https://openbenchmarking.org/result/1307182-SO-1307181SO75
# http://www.phoronix.com/scan.php?page=news_item&px=MTQxNDI
from math import floor, ceil, sqrt
from bisect import bisect_left, insort
class OrderedDict(dict):
"""
### Example
>>> d_standard = {}
>>> d_ordered = OrderedDict()
>>> d_standard[5] = "a"
>>> d_standard[3] = "b"
>>> d_standard[4] = "c"
>>> d_ordered[5] = "a"
>>> d_ordered[3] = "b"
>>> d_ordered[4] = "c"
>>> d_standard
{3: 'b', 4: 'c', 5: 'a'}
>>> d_ordered
{5: 'a', 3: 'b', 4: 'c'}
>>> d_standard.values()
['b', 'c', 'a']
>>> d_ordered.values()
['a', 'b', 'c']
>>> d_ordered2 = OrderedDict(d_standard)
>>> d_ordered2
{3: 'b', 4: 'c', 5: 'a'}
>>> d_ordered2.values()
['b', 'c', 'a']
"""
def __init__(self, *args, **kwargs):
super(OrderedDict, self).__init__(*args, **kwargs)
if args and isinstance(args[0], dict):
self.ordered_keys = list(args[0])
else:
self.ordered_keys = list(super(OrderedDict, self).__iter__())
def __setitem__(self, key, value):
if not key in self:
self.ordered_keys.append(key)
super(OrderedDict, self).__setitem__(key, value)
def __delitem__(self, key):
super(OrderedDict, self).__delitem__(key)
self.ordered_keys.remove(key)
def __repr__(self):
return "{%s}" % ", ".join(["%r: %r" % item for item in self.items()])
def __iter__(self):
for key in self.ordered_keys:
yield key
def keys(self):
return list(self)
def values(self):
return [self[key] for key in self]
def items(self):
return [(key, self[key]) for key in self]
def update(self, d):
self.ordered_keys += [key for key in d if not key in self]
super(OrderedDict, self).update(d)
def absDeltas(inp):
return [abs(inp[i + 1] - inp[i]) for i in range(len(inp) - 1)]
def interpolate(a, b, f):
return a + (b - a) * f
def percentile(inp, p, do_sort=True):
if do_sort:
inp = sorted(inp)
i = p * (len(inp) - 1)
f = i % 1.
if f:
return interpolate(inp[int(floor(i))], inp[int(ceil(i))], f)
else:
return inp[int(i)]
def median(inp):
return percentile(inp, 0.5)
def avg(inp):
return float(sum(inp)) / len(inp)
def var(inp):
avg_ = avg(inp)
return float(sum(map(lambda x: (x - avg_)**2, inp))) / len(inp)
def rollingVar(inp, window):
return [var(inp[i : i + window]) for i in range(len(inp) - window + 1)]
def rollingVar_efficient(inp, window):
"""Reference: http://stackoverflow.com/a/6664212"""
out = []
avg_ = avg(inp[:window])
var_sum = var(inp[:window]) * window
out.append(var_sum / window)
for i in range(len(inp) - window):
x_old = inp[i]
x_new = inp[i + window]
new_avg = avg_ + (x_new - x_old) / window
var_sum = var_sum + (x_new - avg_) * (x_new - new_avg) - (x_old - avg_) * (x_old - new_avg)
avg_ = new_avg
out.append(var_sum / window)
return out
def rollingPercDiff(inp, window):
return [percDiffFrametime(inp[i : i + window]) for i in range(len(inp) - window + 1)]
def rollingPercDiff_efficient(inp, window):
out = []
inp_window = sorted(inp[:window])
out.append(percDiffFrametime(inp_window, do_sort=False))
for i in range(len(inp) - window):
x_old = inp[i]
x_new = inp[i + window]
del inp_window[bisect_left(inp_window, x_old)]
insort(inp_window, x_new)
out.append(percDiffFrametime(inp_window, do_sort=False))
return out
def rollingStddevDivAvg(inp, window):
avg_ = avg(inp) # no rolling avg, to increase robustness, because we assume rolling avg curve is almost identical between different HW specs (excluding offset)
return [sqrt(var(inp[i : i + window])) / avg_ for i in range(len(inp) - window + 1)]
methods = OrderedDict()
def stddevFrametime(inp):
return sqrt(var(inp))
methods["StdDev of Frametime In Milliseconds, Less is Better"] = stddevFrametime
def stddevInterframetime(inp):
return sqrt(var(absDeltas(inp)))
methods["StdDev of Inter-frametime Difference In Milliseconds, Less is Better"] = stddevInterframetime
def medianAbsInterframetime(inp):
#print ([percentile(absDeltas(inp), i * 1e-2) for i in range(100 + 1)])
return percentile(absDeltas(inp), .50)
methods["Median Absolute Inter-frametime Difference In Milliseconds, Less is Better"] = medianAbsInterframetime
def medianRollingStddevFrametime(inp):
windowT = 500e-3 # frametime is ~ constant during this period for most testdata
# stepT = 62.5e-3 # step for moving window
deltaT = 1. / 60 # assumes benchmark uses ideal rendering rate of 60 fps
window = int(round(windowT / deltaT))
rollingVar_ = rollingVar_efficient(inp, window)
#print (map(lambda p: sqrt(p) if p > 0 else 0, [percentile(rollingVar_, i * 1e-2) for i in range(100 + 1)]))
return sqrt(percentile(rollingVar_, .50))
methods["Median Rolling StdDev of Frametime In Milliseconds, Less is Better"] = medianRollingStddevFrametime
def percDiffFrametime(inp, do_sort=True):
return percentile(inp, .99, do_sort) - percentile(inp, .01, do_sort)
methods["Percentile Low-High Gap of Frametime In Milliseconds, Less is Better"] = percDiffFrametime
def medianRollingPercDiffFrametime(inp):
windowT = 500e-3 # frametime is ~ constant during this period for most testdata
deltaT = 1. / 60 # assumes benchmark uses ideal rendering rate of 60 fps
window = int(round(windowT / deltaT))
rollingPercDiff_ = rollingPercDiff_efficient(inp, window)
#print ([percentile(rollingPercDiff_, i * 1e-2) for i in range(100 + 1)])
return percentile(rollingPercDiff_, .50)
methods["Median Rolling Percentile Low-High Gap of Frametime In Milliseconds, Less is Better"] = medianRollingPercDiffFrametime
#def medianRollingStddevDivAvgFrametime(inp):
# windowT = 500e-3 # frametime is ~ constant during this period for most testdata
# deltaT = 1. / 60 # assumes benchmark uses ideal rendering rate of 60 fps
# window = int(round(windowT / deltaT))
# rollingStddevDivAvg_ = rollingStddevDivAvg(inp, window)
# return median(rollingStddevDivAvg_)
#methods["rollingStddevDivAvg, Less is Better"] = medianRollingStddevDivAvgFrametime
tests = OrderedDict()
tests["OpenArena, AMD A10-6800K"] = [47, 21, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 16, 16, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 15, 15, 16, 16, 15, 16, 15, 15, 16, 4, 27, 17, 18, 17, 17, 17, 18, 17, 18, 18, 18, 18, 19, 18, 18, 18, 19, 18, 18, 19, 19, 19, 19,
19, 18, 19, 18, 19, 19, 19, 19, 19, 17, 17, 19, 18, 19, 18, 18, 18, 19, 18, 19, 19, 18, 18, 19, 18, 19, 19, 18, 19, 18, 18, 18, 18, 18, 18, 19, 18, 18, 18, 18, 19, 18, 18, 19, 18, 18, 19, 19, 18, 18, 17, 18, 17, 18, 17, 17, 18, 17, 18, 17,
18, 17, 17, 18, 17, 17, 18, 17, 16, 16, 17, 17, 16, 17, 17, 17, 17, 18, 17, 19, 18, 18, 18, 19, 18, 19, 18, 19, 19, 19, 19, 19, 18, 18, 18, 18, 17, 18, 18, 17, 17, 19, 18, 19, 20, 19, 19, 19, 18, 18, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18,
18, 18, 17, 20, 19, 19, 18, 19, 18, 20, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 21, 19, 18, 18, 19, 19, 19, 19, 20, 19, 19, 19, 19, 19, 19, 18, 19, 18, 19, 20, 19, 20, 18, 19, 18, 20, 18, 18, 19, 19, 19, 18, 18, 19, 19, 19,
19, 18, 17, 19, 18, 4, 4, 4, 6, 68, 17, 17, 17, 17, 16, 17, 16, 17, 16, 17, 17, 16, 17, 17, 17, 17, 17, 17, 16, 16, 17, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 16, 18, 17, 18, 17, 18, 17, 17, 17, 17, 18, 16, 16, 16, 16, 16, 3, 4,
39, 3, 3, 3, 4, 4, 4, 4, 5, 5, 16, 17, 17, 18, 18, 18, 17, 16, 17, 17, 17, 17, 16, 17, 17, 17, 16, 17, 18, 18, 18, 17, 17, 17, 16, 4, 29, 17, 18, 17, 17, 18, 17, 17, 18, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 17, 18, 18,
18, 18, 17, 17, 18, 17, 19, 17, 19, 18, 18, 18, 19, 18, 19, 17, 18, 17, 17, 17, 16, 16, 17, 17, 16, 16, 16, 16, 15, 16, 16, 16, 16, 15, 15, 17, 15, 16, 16, 16, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 15, 16, 16, 16, 16, 16, 16, 18, 16, 16,
16, 16, 16, 17, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 16, 16, 16, 16, 18, 17, 19, 18, 19, 17, 18, 18, 18, 18, 18, 19, 19, 18, 19, 18, 18, 18, 17, 18, 17, 17, 16, 17, 4, 28, 16, 16, 17, 17, 16, 16, 17, 17, 17, 17, 17, 17, 18,
17, 16, 16, 16, 16, 17, 18, 17, 16, 16, 17, 17, 17, 16, 17, 17, 17, 16, 17, 17, 16, 5, 25, 4, 4, 36, 16, 16, 16, 17, 17, 18, 17, 16, 17, 17, 16, 17, 17, 18, 17, 17, 17, 17, 16, 17, 17, 17, 18, 17, 17, 17, 17, 17, 16, 16, 16, 17, 16, 16,
16, 15, 16, 16, 16, 15, 15, 16, 16, 16, 16, 16, 15, 16, 16, 15, 16, 16, 16, 16, 17, 16, 17, 17, 16, 17, 17, 17, 16, 17, 16, 16, 16, 16, 15, 16, 16, 15, 16, 16, 16, 16, 17, 16, 16, 17, 16, 16, 16, 16, 16, 5, 27, 16, 16, 16, 16, 16, 16, 17,
17, 16, 17, 17, 17, 16, 17, 17, 16, 17, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 16, 16, 17, 16, 17, 16, 17, 16, 16, 16, 15, 16, 4, 3, 3, 3, 3, 3, 4, 3, 2, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 4, 3,
4, 3, 3, 3, 3, 3, 2, 2, 2, 3, 3, 3, 3, 3, 2, 3, 3, 3, 2, 3, 3, 3, 3, 4, 4, 3, 4, 16, 17, 16, 16, 16, 16, 16, 16, 16, 16, 4, 3, 4, 3, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 2, 2, 2, 3, 2,
2, 3, 2, 2, 2, 2, 3, 2, 3, 2, 2, 3, 3, 3, 2, 3, 3, 3, 3, 2, 3, 2, 3, 3, 4, 3, 5, 4, 5, 4, 4, 4, 5, 4, 4, 4, 5, 3, 4, 6, 28, 18, 27, 18, 31, 15, 27, 30, 30, 17, 17, 17, 17, 17, 16, 17, 16, 17, 16, 16,
17, 17, 17, 16, 4, 3, 4, 4, 4, 4, 4, 20, 3, 2, 3, 3, 3, 3, 19, 17, 18, 17, 16, 17, 16, 16, 16, 17, 17, 16, 17, 16, 17, 17, 16, 18, 18, 18, 16, 16, 16, 17, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 16, 17, 17, 17, 18, 17, 17, 16,
3, 4, 3, 3, 68, 16, 17, 16, 17, 16, 16, 17, 16, 17, 16, 17, 16, 17, 18, 18, 18, 17, 3, 2, 2, 2, 2, 2, 2, 3, 2, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 2, 3, 2, 3, 2, 3, 2, 2, 3, 2, 16, 3, 2, 3, 2, 2, 3, 3,
2, 3, 3, 3, 2, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 4, 3, 4, 4, 16, 16, 17, 16, 17, 16, 17, 17, 17, 17, 17, 16, 18, 17, 17, 17, 17, 17, 17, 16, 16, 17, 17, 17, 17, 18,
18, 18, 17, 17, 18, 17, 18, 18, 17, 17, 18, 18, 18, 19, 18, 20, 18, 18, 17, 18, 18, 18, 18, 18, 18, 18, 18, 17, 19, 18, 19, 19, 20, 19, 20, 19, 18, 19, 18, 19, 18, 17, 17, 17, 17, 17, 17, 17, 16, 16, 17, 17, 17, 17, 17, 18, 17, 17, 17, 17,
17, 17, 17, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 20, 20, 19, 19, 20, 19, 20, 19, 19, 19, 19, 19, 19, 20, 19, 20, 19, 19, 18, 18, 17, 16, 17, 17, 17, 17, 17, 17, 17, 16, 16,
17, 17, 17, 17, 17, 17, 16, 17, 17, 16, 17, 17, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, 19, 20, 19, 20, 19, 20, 19, 20, 20, 19, 20, 19, 19, 20, 19, 20, 20, 19, 20, 19, 20, 19, 20, 20, 18, 18, 17, 17, 17, 17, 17, 16, 17, 17, 16, 16, 18,
17, 18, 18, 18, 18, 17, 18, 17, 17, 18, 17, 17, 18, 17, 17, 19, 19, 20, 20, 21, 21, 22, 21, 23, 21, 21, 21, 21, 21, 22, 21, 21, 22, 21, 21, 22, 21, 22, 19, 20, 18, 18, 18, 18, 18, 18, 18, 18, 17, 17, 18, 17, 17, 17, 18, 17, 18, 17, 18, 18,
18, 17, 18, 18, 17, 18, 17, 18, 17, 17, 18, 17, 17, 18, 17, 18, 17, 18, 18, 17, 18, 17, 17, 17, 18, 17, 17, 16, 16, 17, 16, 16, 16, 16, 16, 16, 16, 15, 16, 16, 16, 15, 16, 15, 15, 16, 3, 27, 16, 15, 15, 16, 15, 3, 4, 3, 3, 3, 3, 3,
4, 3, 3, 17, 17, 17, 17, 17, 18, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 20, 21, 21, 19, 21, 20, 20, 20, 20, 20, 20, 21, 20, 20, 20, 19, 18, 18, 19, 18, 18, 19, 19, 19, 19, 18, 19, 18, 19, 19,
19, 19, 19, 19, 19, 20, 20, 18, 19, 19, 19, 19, 19, 19, 19, 18, 20, 18, 19, 19, 19, 18, 19, 18, 19, 18, 19, 18, 19, 19, 18, 18, 19, 18, 20, 19, 19, 19, 19, 19, 18, 19, 18, 20, 19, 19, 20, 20, 20, 20, 22, 22, 23, 21, 22, 20, 19, 20, 19, 20,
18, 19, 20, 18, 19, 18, 19, 19, 17, 17, 5, 4, 4, 4, 4, 5, 4, 5, 4, 16, 17, 16, 18, 19, 20, 20, 18, 19, 19, 18, 18, 18, 19, 19, 18, 18, 18, 17, 19, 21, 21, 21, 20, 20, 19, 19, 20, 20, 21, 19, 18, 18, 19, 18, 18, 19, 20, 21, 22, 20,
22, 23, 22, 22, 22, 18, 20, 20, 20, 21, 22, 22, 18, 16, 16, 4, 26, 16, 17, 18, 18, 17, 18, 17, 17, 18, 17, 17, 17, 17, 17, 18, 17, 18, 18, 19, 20, 20, 20, 18, 19, 18, 19, 18, 18, 18, 17, 16, 17, 17, 16, 16, 16, 16, 17, 19, 19, 18, 4, 3,
4, 4, 3, 4, 4, 4, 3, 4, 4, 4, 3, 4, 4, 4, 4, 3, 18, 20, 18, 18, 18, 18, 18, 19, 18, 19, 19, 18, 19, 19, 18, 19, 19, 18, 18, 3, 3, 3, 4, 3, 3, 3, 4, 19, 20, 20, 19, 18, 17, 18, 17, 18, 17, 19, 20, 19, 20, 21, 19, 21,
21, 20, 20, 21, 21, 22, 21, 21, 20, 20, 21, 21, 20, 21, 21, 21, 20, 20, 22, 20, 21, 21, 21, 21, 21, 21, 21, 20, 21, 21, 22, 21, 20, 21, 20, 20, 20, 20, 21, 20, 21, 21, 21, 20, 21, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 18, 19, 18, 18, 19,
19, 18, 19, 18, 18, 19, 19, 19, 18, 18, 18, 17, 17, 17, 17, 18, 17, 17, 18, 17, 18, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 17, 18, 17, 17, 16, 17, 19, 20, 19, 17, 3, 5, 4, 53, 17, 17, 17, 16, 15, 16, 15, 16, 15, 16, 17, 17,
18, 17, 17, 17, 17, 16, 17, 16, 16, 17, 16, 17, 16, 17, 17, 17, 17, 21, 19, 24, 21, 21, 20, 21, 22, 21, 20, 20, 18, 17, 17, 16, 5, 28, 17, 17, 18, 17, 18, 18, 17, 19, 17, 4, 4, 5, 5, 4, 72, 17, 17, 18, 18, 20, 20, 21, 21, 19, 20, 20,
20, 19, 19, 20, 20, 19, 20, 20, 20, 20, 20, 20, 18, 17, 2, 3, 39, 20, 19, 18, 19, 18, 18, 19, 18, 18, 17, 18, 17, 18, 18, 19, 19, 19, 19, 19, 19, 19, 18, 17, 16, 17, 17, 17, 17, 17, 17, 17, 16, 16, 17, 16, 16, 17, 16, 16, 16, 16, 16, 16,
15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 16, 16, 16, 16, 16, 3, 3, 40, 17, 18, 17, 16, 16, 16, 17, 16, 17, 17, 16, 3, 28, 16, 15, 16, 16, 15, 16, 16, 16, 17, 17, 19, 19, 18, 17, 17, 17, 17, 16, 16, 17, 16, 16, 17, 16, 16, 16, 16, 16,
16, 16, 16, 16, 15, 16, 15, 16, 15, 16, 16, 15, 15, 16, 16, 16, 16, 16, 15, 16, 16, 16, 15, 16, 3, 29, 17, 18, 17, 17, 18, 17, 17, 18, 17, 17, 17, 16, 17, 16, 3, 3, 3, 3, 3, 76, 17, 18, 17, 16, 16, 17, 17, 16, 16, 16, 17, 17, 18, 17,
18, 17, 18, 18, 18, 19, 20, 21, 21, 21, 18, 17, 17, 17, 17, 18, 17, 17, 18, 18, 17, 17, 18, 17, 18, 16, 16, 4, 5, 3, 3, 58, 16, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 19, 18, 19, 19, 19, 18, 18, 18, 18, 16, 17, 17, 18, 18, 18, 18,
16, 17, 17, 16, 17, 16, 17, 18, 17, 17, 18, 17, 17, 16, 15, 16, 16, 16, 15, 16, 16, 16, 17, 17, 17, 15, 5, 5, 4, 46, 16, 16, 16, 17, 17, 16, 17, 17, 17, 17, 17, 17, 18, 19, 18, 17, 17, 17, 17, 17, 17, 16, 16, 18, 17, 18, 17, 17, 17, 16,
16, 17, 17, 17, 16, 16, 17, 17, 16, 16, 16, 17, 16, 16, 17, 16, 17, 16, 16, 17, 16, 16, 17, 17, 16, 16, 17, 16, 17, 17, 17, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 19, 18,
19, 18, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 16, 17, 17, 16, 17, 16, 17, 17, 16, 17, 17, 16, 17, 17, 16, 17, 16, 17, 17, 16, 17, 16, 17, 17, 16, 17, 17, 16, 17, 17, 16, 17, 16, 16, 16, 16, 17, 16, 16, 17, 16, 17, 16, 16, 16, 16, 4, 3,
41, 16, 16, 15, 4, 3, 3, 51, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 16, 17, 17, 17, 17, 18, 17, 17, 18, 18, 18, 18, 18, 18, 19, 3, 4, 4, 4, 4, 4, 4, 4, 3, 18, 4, 3, 4, 3, 4, 3, 3, 4, 3,
4, 4, 3, 3, 3, 3, 3, 17, 16, 17, 16, 17, 4, 28, 16, 18, 18, 18, 17, 17, 17, 17, 18, 18, 17, 18, 18, 17, 17, 17, 17, 17, 17, 18, 17, 18, 17, 17, 18, 18, 17, 18, 17, 16, 16, 17, 17, 17, 17, 17, 18, 17, 18, 18, 18, 19, 18, 19, 19, 19,
20, 19, 19, 18, 18, 17, 16, 17, 17, 17, 16, 16, 17, 16, 15, 3, 3, 3, 51, 17, 3, 3, 3, 54, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 16, 17, 16, 17, 17, 17, 17, 16, 17, 17, 16, 17, 16, 16, 17, 16, 17, 17, 16, 17, 16, 17, 16, 17, 18,
16, 17, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 16, 17, 16, 18, 18, 17, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 17, 17, 18, 17, 4, 30, 18, 18, 18, 18, 18, 18, 19, 17, 18, 18, 18, 18, 17, 18, 18, 18, 18, 17, 17, 18, 17, 18,
17, 18, 17, 18, 19, 21, 22, 23, 21, 21, 21, 21, 22, 21, 20, 21, 20, 20, 20, 19, 21, 22, 21, 22, 20, 21, 20, 20, 19, 20, 19, 20, 20, 19, 19, 19, 20, 19, 20, 21, 20, 20, 21, 21, 21, 20, 20, 20, 19, 18, 19, 19, 19, 19, 19, 20, 20, 19, 17, 17,
17, 17, 18, 18, 17, 18, 18, 18, 18, 18, 18, 17, 17, 18, 20, 19, 19, 18, 19, 18, 18, 18, 19, 18, 18, 19, 19, 19, 20, 19, 20, 20, 20, 20, 19, 19, 21, 18, 17, 19, 4, 31, 18, 19, 19, 19, 19, 19, 18, 19, 18, 18, 19, 19, 18, 19, 19, 20, 20, 20,
20, 20, 20, 19, 20, 19, 20, 19, 20, 20, 18, 20, 19, 19, 19, 18, 18, 18, 18, 19, 19, 20, 20, 19, 19, 20, 19, 20, 20, 21, 20, 21, 19, 20, 19, 19, 19, 20, 19, 19, 21, 20, 20, 19, 19, 19, 18, 19, 18, 19, 18, 19, 19, 18, 19, 17, 18, 18, 17, 17,
18, 17, 18, 18, 20, 20, 19, 19, 19, 18, 17, 18, 18, 18, 19, 18, 19, 19, 19, 20, 20, 20, 20, 20, 19, 17, 17, 17, 16, 16, 16, 16, 16, 16, 3, 3, 3, 3, 4, 74, 17, 19, 18, 18, 16, 16, 16, 17, 16, 17, 16, 17, 17, 16, 18, 18, 18, 21, 21, 20,
20, 20, 20, 19, 18, 19, 18, 19, 19, 19, 20, 20, 19, 19, 20, 19, 20, 19, 19, 18, 17, 17, 17, 17, 17, 16, 17, 16, 17, 16, 16, 17, 16, 17, 16, 17, 16, 16, 16, 16, 16, 16, 5, 5, 37, 16, 17, 16, 17, 16, 17, 16, 18, 18, 17, 17, 17, 17, 17, 17,
16, 16, 16, 16, 16, 16, 16, 17, 16, 16, 17, 16, 17, 16, 17, 17, 17, 17, 16, 17, 17, 18, 17, 18, 17, 17, 18, 19, 18, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 17, 17, 17, 17, 17, 18, 18, 17, 18, 17, 18, 17, 17, 17, 17, 17, 17, 17, 16, 17, 17,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 16, 16, 16, 16, 16, 16, 15, 16, 15, 16, 16, 16, 16, 16, 16, 17, 16, 17, 16, 16, 16, 16, 16, 16, 16, 16, 17, 16, 16, 16, 16, 15, 16, 15, 15, 16, 15, 16, 16,
16, 17, 16, 16, 17, 17, 17, 17, 16, 17, 17, 16, 17, 17, 16, 17, 17, 17, 16, 17, 16, 17, 17, 17, 17, 16, 4, 5, 38, 16, 16, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 16, 16, 16, 16, 17, 16, 17, 16, 17, 16, 16, 17, 16, 17, 16, 16,
16, 18, 17, 17, 16, 16, 4, 4, 3, 4, 4, 4, 4, 4, 4, 3, 16, 17, 18, 18, 18, 18, 18, 18, 17, 18, 17, 18, 18, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 18, 18, 18, 18, 18, 17, 18, 18, 17, 18, 18, 18, 19, 19, 17, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 19, 18, 17, 17, 17, 17, 16, 16, 17, 16, 16, 16, 16, 16, 16, 16, 17, 18, 17, 17, 17, 16, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 17, 16, 16, 15, 16, 16, 15, 16, 16, 17, 16, 16, 16, 16, 17, 18, 16, 16, 16, 15, 3, 26, 15,
15, 14, 15, 15, 14, 15, 14, 15, 14, 15, 14, 15, 17, 16, 17, 16, 16, 16, 16, 16, 17, 16, 16, 17, 16, 17, 16, 16, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 16, 16, 16, 16, 16, 16, 18, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 17, 15, 16,
16, 17, 16, 16, 16, 16, 16, 16, 16, 16, 18, 18, 17, 17, 18, 17, 17, 17, 18, 17, 18, 17, 16, 16, 16, 15, 17, 17, 17, 17, 16, 17, 16, 17, 17, 16, 17, 17, 17, 17, 16, 18, 17, 16, 17, 17, 18, 19, 18, 17, 18, 17, 17, 17, 16, 16, 3, 3, 3, 3,
3, 3, 2, 4, 2, 17, 17, 18, 17, 17, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 17, 17, 16, 17, 16, 17, 16, 17, 17, 18, 17, 16, 17, 16, 16, 16, 16, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 16, 16, 16,
17, 17, 17, 18, 17, 17, 18, 17, 17, 17, 17, 16, 16, 17, 17, 17, 18, 18, 4, 4, 3, 4, 3, 88, 19, 18, 3, 3, 3, 3, 3, 3, 3, 3, 3, 16, 16, 16, 15, 16, 16, 16, 17, 16, 17, 16, 17, 16, 17, 17, 16, 17, 16, 16, 16, 16, 17, 28, 18, 16,
16, 16, 17, 16, 17, 15, 16, 16, 15, 16, 16, 17, 16, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 3, 3, 4, 3, 4, 17, 17, 17, 18, 17, 18, 19, 18, 18, 19, 18, 19, 18, 18, 19, 20, 19, 19, 19, 20, 18, 19, 18, 19, 18, 18, 19, 18, 19, 19, 19,
18, 18, 18, 19, 19, 19, 19, 19, 21, 20, 20, 20, 20, 20, 20, 20, 20, 19, 21, 20, 20, 20, 20, 20, 21, 20, 20, 20, 20, 21, 20, 21, 20, 21, 21, 20, 20, 20, 20, 20, 20, 20, 21, 20, 20, 20, 21, 20, 20, 20, 20, 21, 20, 20, 20, 21, 20, 20, 21, 20,
20, 21, 20, 20, 21, 21, 20, 20, 20, 21, 19, 20, 20, 20, 20, 21, 20, 20, 21,]
tests["OpenArena, Intel Core i7 4770K"] = [60, 71, 73, 62, 54, 51, 46, 44, 39, 40, 38, 35, 36, 33, 34, 31, 31, 32, 31, 31, 31, 30, 30, 29, 29, 30, 30, 29, 30, 30, 29, 30, 28, 30, 29, 29, 8, 50, 31, 31, 31, 28, 31, 30, 30, 31, 31, 31, 31, 32, 31, 32, 31, 32, 32, 31, 32, 31, 33, 33,
34, 31, 34, 32, 32, 33, 32, 33, 33, 31, 31, 32, 32, 31, 32, 31, 32, 32, 32, 33, 34, 31, 33, 32, 32, 33, 32, 32, 32, 32, 32, 32, 31, 32, 32, 32, 32, 33, 32, 31, 32, 32, 32, 32, 32, 32, 33, 33, 33, 32, 32, 32, 31, 31, 33, 31, 32, 33, 30, 33,
30, 32, 31, 31, 32, 31, 31, 31, 30, 31, 30, 30, 30, 30, 30, 31, 30, 32, 31, 33, 32, 33, 32, 34, 32, 34, 33, 34, 33, 33, 33, 34, 33, 33, 32, 31, 31, 31, 31, 31, 31, 32, 31, 34, 34, 33, 33, 32, 32, 32, 33, 32, 33, 33, 33, 32, 31, 32, 32, 31,
31, 32, 31, 33, 34, 33, 32, 32, 32, 33, 34, 32, 33, 32, 32, 32, 32, 31, 32, 31, 33, 31, 32, 33, 34, 33, 34, 31, 33, 32, 34, 34, 34, 33, 33, 32, 33, 33, 33, 32, 33, 31, 32, 34, 33, 34, 32, 33, 32, 34, 32, 33, 32, 33, 32, 34, 32, 33, 33, 35,
31, 33, 33, 33, 33, 8, 18, 33, 35, 63, 30, 32, 29, 30, 30, 29, 29, 30, 30, 30, 30, 30, 30, 30, 31, 32, 29, 31, 30, 29, 31, 29, 30, 29, 30, 31, 30, 33, 30, 30, 32, 29, 30, 32, 31, 32, 31, 33, 30, 31, 33, 30, 32, 29, 31, 28, 31, 28, 11, 17,
58, 9, 19, 28, 22, 33, 28, 28, 28, 28, 55, 28, 32, 30, 31, 32, 31, 32, 30, 30, 31, 30, 30, 30, 31, 30, 30, 30, 30, 32, 31, 32, 30, 30, 30, 31, 3, 56, 31, 31, 32, 31, 31, 31, 32, 32, 31, 31, 32, 31, 31, 30, 30, 31, 30, 31, 30, 30, 31, 32,
33, 32, 32, 32, 31, 31, 31, 33, 31, 33, 32, 33, 32, 33, 33, 33, 32, 32, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29, 29, 29, 30, 29, 29, 30, 29, 29, 30, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28, 29, 29, 28, 29, 29, 29, 29, 29, 30, 29, 30,
30, 30, 29, 31, 28, 31, 29, 31, 29, 30, 29, 31, 29, 31, 30, 30, 29, 31, 28, 29, 31, 30, 32, 34, 33, 34, 33, 34, 34, 32, 34, 34, 35, 34, 35, 33, 34, 35, 31, 34, 31, 32, 32, 31, 31, 31, 4, 56, 31, 32, 29, 33, 32, 31, 34, 32, 32, 31, 33, 31,
33, 32, 30, 33, 30, 30, 33, 30, 33, 31, 30, 30, 31, 31, 30, 31, 31, 30, 30, 30, 29, 29, 5, 51, 4, 22, 56, 29, 29, 29, 29, 33, 30, 31, 31, 28, 30, 29, 30, 30, 30, 30, 30, 30, 30, 31, 29, 31, 30, 30, 31, 31, 32, 31, 31, 31, 30, 31, 30, 30,
29, 29, 30, 29, 30, 29, 29, 29, 30, 29, 30, 29, 30, 29, 30, 29, 29, 29, 30, 30, 30, 31, 30, 32, 30, 32, 30, 32, 30, 31, 31, 30, 31, 30, 29, 28, 30, 28, 28, 30, 29, 31, 29, 31, 31, 30, 30, 31, 30, 31, 30, 31, 7, 53, 30, 30, 31, 31, 30, 29,
32, 30, 32, 30, 32, 30, 31, 32, 31, 30, 30, 31, 32, 30, 33, 31, 32, 32, 31, 32, 32, 30, 32, 29, 32, 29, 32, 31, 30, 31, 30, 31, 29, 9, 20, 29, 26, 30, 28, 24, 29, 28, 29, 30, 29, 34, 29, 29, 29, 26, 30, 29, 30, 29, 30, 29, 33, 30, 29, 28,
26, 29, 62, 3, 21, 29, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 32, 28, 29, 28, 29, 29, 29, 29, 30, 29, 30, 27, 27, 64, 30, 30, 30, 31, 30, 31, 31, 30, 31, 30, 4, 21, 29, 30, 30, 30, 27, 29, 32, 29, 29, 28, 29, 25, 29, 28, 29, 28, 30, 31,
28, 28, 29, 28, 29, 28, 28, 29, 28, 29, 29, 29, 30, 28, 26, 29, 29, 28, 28, 28, 29, 28, 28, 29, 29, 29, 29, 30, 29, 34, 29, 25, 33, 31, 29, 27, 27, 29, 34, 30, 25, 29, 28, 30, 29, 29, 34, 26, 33, 25, 35, 24, 64, 30, 31, 29, 32, 30, 30, 30,
30, 30, 30, 30, 29, 30, 32, 29, 9, 18, 32, 30, 30, 24, 29, 67, 35, 3, 23, 39, 32, 24, 29, 63, 33, 32, 31, 30, 30, 31, 30, 30, 30, 30, 30, 31, 30, 30, 30, 30, 31, 32, 33, 32, 30, 31, 31, 31, 30, 31, 31, 31, 30, 31, 31, 31, 30, 31, 31, 30,
31, 32, 32, 31, 31, 30, 4, 21, 35, 29, 60, 32, 30, 32, 31, 30, 30, 32, 31, 29, 32, 31, 29, 33, 31, 34, 31, 31, 6, 21, 30, 26, 29, 30, 32, 29, 29, 29, 27, 29, 28, 29, 29, 29, 32, 26, 32, 29, 29, 28, 25, 28, 29, 28, 33, 28, 28, 28, 56, 30,
3, 26, 28, 26, 25, 28, 29, 30, 29, 27, 25, 28, 29, 29, 33, 26, 34, 25, 29, 29, 29, 31, 32, 28, 30, 30, 50, 4, 29, 32, 28, 29, 28, 28, 25, 28, 31, 26, 28, 29, 29, 62, 29, 30, 30, 30, 29, 31, 29, 31, 29, 30, 30, 30, 31, 30, 30, 30, 29, 31,
29, 31, 30, 30, 30, 31, 29, 31, 33, 31, 31, 31, 31, 33, 30, 33, 32, 31, 32, 32, 32, 33, 32, 32, 32, 33, 31, 30, 33, 32, 31, 33, 32, 32, 32, 31, 32, 34, 32, 34, 33, 33, 35, 33, 32, 33, 33, 34, 32, 31, 31, 31, 29, 30, 31, 30, 31, 30, 31, 30,
32, 29, 32, 30, 31, 30, 31, 30, 30, 30, 31, 30, 31, 30, 30, 31, 30, 30, 30, 31, 30, 30, 31, 30, 31, 31, 31, 29, 30, 30, 31, 31, 33, 33, 32, 33, 35, 36, 33, 35, 33, 34, 33, 36, 34, 34, 33, 33, 34, 35, 34, 34, 34, 34, 33, 34, 31, 30, 31, 31,
29, 31, 31, 30, 31, 31, 30, 30, 29, 31, 29, 30, 29, 30, 30, 29, 30, 29, 30, 31, 29, 30, 31, 30, 32, 31, 30, 32, 29, 33, 34, 33, 35, 33, 35, 34, 35, 33, 35, 34, 34, 35, 33, 36, 33, 34, 36, 33, 36, 33, 35, 34, 32, 34, 35, 33, 31, 31, 30, 30,
31, 30, 30, 30, 30, 29, 30, 31, 31, 31, 32, 31, 32, 31, 31, 30, 31, 31, 31, 31, 31, 31, 32, 33, 35, 33, 35, 36, 36, 38, 37, 37, 38, 35, 37, 36, 36, 36, 38, 36, 36, 37, 36, 36, 38, 37, 34, 33, 33, 32, 32, 31, 31, 31, 33, 31, 30, 32, 31, 32,
30, 33, 32, 30, 33, 32, 30, 32, 33, 32, 32, 32, 31, 33, 31, 31, 33, 31, 30, 33, 31, 32, 32, 31, 32, 33, 31, 32, 32, 31, 31, 31, 31, 33, 30, 32, 31, 30, 31, 29, 30, 29, 30, 29, 30, 29, 28, 30, 29, 29, 28, 30, 29, 28, 4, 54, 29, 30, 27, 30,
29, 9, 19, 28, 28, 28, 28, 28, 25, 28, 32, 59, 30, 31, 30, 31, 31, 30, 30, 31, 31, 31, 31, 32, 32, 31, 32, 33, 32, 35, 36, 34, 34, 36, 34, 35, 36, 35, 34, 35, 35, 35, 34, 36, 34, 34, 35, 34, 34, 36, 34, 34, 35, 32, 33, 32, 31, 32, 32, 32,
33, 33, 34, 32, 35, 31, 33, 32, 33, 33, 34, 32, 33, 34, 34, 35, 32, 33, 33, 34, 31, 34, 33, 34, 32, 33, 33, 34, 31, 33, 32, 32, 34, 32, 31, 32, 32, 32, 32, 31, 32, 33, 32, 34, 34, 34, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, 35, 37,
39, 39, 38, 38, 37, 34, 34, 34, 34, 33, 34, 33, 34, 31, 35, 31, 33, 30, 31, 8, 18, 36, 22, 31, 31, 22, 30, 35, 55, 29, 31, 30, 31, 34, 33, 34, 33, 34, 32, 33, 32, 34, 34, 31, 33, 32, 32, 31, 35, 34, 35, 35, 35, 34, 36, 33, 35, 37, 35, 36,
31, 33, 32, 33, 33, 33, 37, 35, 38, 35, 39, 38, 40, 40, 38, 34, 33, 34, 37, 37, 42, 38, 33, 30, 29, 4, 52, 29, 31, 32, 32, 32, 32, 31, 30, 31, 32, 32, 29, 32, 31, 31, 31, 32, 31, 35, 33, 35, 34, 34, 31, 34, 31, 33, 31, 32, 32, 30, 29, 32,
28, 31, 28, 30, 31, 34, 32, 34, 11, 19, 30, 26, 34, 28, 31, 31, 31, 31, 33, 35, 32, 31, 29, 27, 33, 28, 66, 33, 34, 33, 32, 34, 31, 35, 32, 35, 33, 32, 33, 35, 33, 33, 33, 34, 33, 31, 8, 17, 34, 32, 32, 33, 30, 29, 65, 32, 35, 36, 34, 32,
33, 30, 31, 32, 30, 34, 35, 34, 34, 35, 34, 35, 36, 35, 36, 35, 36, 36, 35, 35, 35, 35, 35, 35, 36, 35, 36, 35, 36, 35, 35, 36, 35, 36, 36, 36, 35, 36, 36, 35, 36, 35, 36, 35, 35, 36, 35, 34, 35, 34, 35, 35, 35, 35, 36, 35, 35, 35, 35, 35,
35, 34, 35, 33, 33, 33, 33, 32, 32, 33, 32, 33, 33, 32, 33, 33, 34, 33, 33, 33, 33, 32, 33, 30, 33, 31, 31, 32, 32, 31, 31, 31, 32, 33, 31, 31, 32, 33, 31, 33, 31, 31, 34, 30, 32, 31, 31, 30, 31, 30, 31, 29, 37, 33, 35, 31, 9, 24, 28, 57,
30, 31, 30, 28, 28, 28, 28, 28, 28, 29, 30, 32, 31, 31, 31, 30, 30, 30, 30, 29, 29, 30, 30, 30, 30, 31, 30, 31, 31, 38, 34, 42, 40, 37, 36, 36, 36, 37, 35, 35, 32, 30, 29, 31, 5, 55, 31, 31, 31, 31, 31, 31, 31, 32, 31, 5, 21, 31, 29, 30,
57, 32, 31, 32, 32, 34, 34, 36, 35, 34, 33, 34, 33, 34, 33, 34, 34, 33, 33, 34, 34, 35, 33, 34, 32, 29, 3, 22, 56, 35, 34, 32, 33, 32, 33, 32, 32, 32, 33, 32, 32, 32, 33, 33, 33, 36, 33, 35, 34, 33, 32, 31, 29, 33, 30, 30, 31, 31, 30, 29,
31, 30, 31, 29, 31, 29, 30, 30, 29, 28, 29, 29, 28, 29, 27, 28, 31, 28, 32, 28, 31, 29, 31, 29, 32, 29, 31, 29, 9, 21, 56, 31, 30, 32, 30, 29, 29, 31, 29, 31, 30, 32, 10, 48, 28, 29, 29, 29, 28, 28, 30, 30, 30, 32, 32, 34, 32, 32, 32, 29,
31, 29, 31, 29, 31, 29, 31, 29, 31, 29, 30, 30, 30, 28, 30, 28, 30, 28, 29, 30, 27, 30, 29, 29, 30, 29, 29, 31, 30, 28, 31, 28, 31, 30, 29, 29, 5, 55, 31, 32, 31, 32, 32, 33, 31, 31, 33, 31, 32, 31, 29, 31, 8, 17, 31, 25, 28, 62, 30, 32,
32, 29, 31, 29, 31, 30, 29, 30, 32, 30, 31, 31, 33, 32, 32, 32, 33, 33, 35, 38, 36, 36, 31, 32, 31, 30, 31, 30, 32, 32, 31, 33, 32, 31, 33, 32, 31, 30, 29, 11, 15, 32, 23, 58, 28, 35, 34, 34, 34, 35, 35, 32, 33, 34, 33, 33, 32, 33, 33, 34,
32, 34, 32, 33, 32, 30, 31, 33, 31, 32, 33, 31, 30, 30, 30, 30, 31, 29, 32, 29, 31, 29, 31, 31, 29, 30, 28, 30, 28, 29, 30, 28, 30, 28, 31, 33, 31, 29, 12, 16, 34, 53, 30, 29, 30, 30, 30, 31, 32, 29, 31, 31, 30, 31, 33, 33, 33, 31, 31, 30,
31, 30, 31, 30, 31, 30, 31, 32, 32, 33, 32, 30, 33, 30, 32, 32, 29, 32, 30, 30, 31, 31, 30, 32, 30, 30, 32, 30, 31, 29, 32, 29, 32, 31, 30, 32, 30, 31, 31, 31, 31, 32, 32, 33, 32, 33, 34, 32, 32, 32, 31, 31, 31, 31, 33, 30, 30, 31, 31, 32,
30, 31, 31, 32, 31, 34, 31, 33, 33, 34, 33, 33, 34, 32, 32, 30, 31, 31, 29, 31, 32, 30, 31, 30, 32, 29, 32, 30, 30, 32, 30, 30, 31, 31, 30, 32, 30, 29, 32, 30, 30, 30, 32, 29, 32, 31, 29, 32, 30, 32, 29, 32, 30, 30, 32, 29, 31, 30, 31, 29,
31, 30, 31, 30, 31, 29, 32, 29, 32, 29, 9, 18, 61, 31, 29, 30, 9, 17, 31, 56, 29, 31, 29, 31, 29, 31, 30, 30, 31, 30, 29, 30, 31, 31, 31, 30, 33, 30, 32, 32, 31, 34, 31, 31, 33, 31, 33, 31, 34, 32, 34, 34, 32, 6, 23, 32, 33, 31, 28, 32,
33, 32, 73, 34, 9, 22, 27, 33, 26, 25, 27, 28, 33, 27, 26, 24, 27, 28, 27, 29, 65, 31, 30, 30, 30, 30, 5, 55, 29, 31, 33, 32, 33, 30, 32, 31, 32, 32, 32, 31, 31, 32, 32, 30, 31, 30, 30, 32, 31, 31, 30, 31, 30, 32, 31, 32, 30, 30, 31, 31,
30, 31, 31, 32, 31, 32, 32, 32, 33, 34, 33, 34, 35, 35, 36, 36, 34, 33, 31, 30, 31, 30, 30, 31, 30, 29, 30, 29, 28, 3, 21, 28, 59, 30, 3, 22, 28, 63, 30, 29, 30, 29, 29, 29, 29, 29, 30, 31, 30, 30, 29, 29, 31, 31, 31, 30, 30, 30, 30, 32,
29, 32, 29, 32, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 30, 30, 30, 30, 30, 30, 30, 29, 30, 30, 30, 30, 30, 30, 30, 30, 31, 32, 31, 31, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31, 31, 30, 31, 32, 3, 58, 32, 32, 32, 32, 31, 32, 33, 31,
32, 33, 31, 31, 32, 32, 31, 31, 31, 31, 32, 31, 32, 30, 31, 32, 31, 32, 35, 35, 39, 37, 36, 37, 37, 36, 36, 36, 38, 35, 35, 37, 33, 34, 36, 37, 36, 37, 35, 35, 35, 34, 34, 33, 34, 34, 35, 33, 34, 33, 34, 34, 35, 34, 35, 35, 36, 37, 37, 35,
35, 34, 36, 33, 34, 32, 36, 33, 37, 34, 37, 34, 30, 31, 32, 31, 31, 34, 30, 31, 34, 31, 31, 33, 30, 33, 31, 32, 31, 36, 32, 31, 33, 32, 31, 32, 33, 31, 34, 34, 33, 33, 35, 34, 35, 35, 33, 35, 32, 36, 37, 30, 31, 33, 8, 57, 31, 34, 33, 34,
33, 32, 32, 33, 32, 32, 32, 32, 32, 32, 33, 33, 35, 35, 35, 34, 32, 34, 33, 35, 32, 33, 34, 33, 33, 33, 33, 34, 32, 33, 34, 33, 31, 33, 35, 34, 36, 34, 34, 36, 32, 37, 36, 34, 37, 34, 34, 34, 33, 34, 34, 34, 35, 35, 38, 38, 37, 34, 35, 33,
35, 34, 32, 34, 34, 32, 34, 33, 34, 33, 30, 34, 32, 30, 33, 32, 31, 35, 34, 36, 35, 32, 33, 34, 33, 33, 31, 35, 33, 32, 35, 32, 36, 34, 36, 38, 35, 35, 36, 30, 31, 31, 32, 29, 32, 28, 31, 28, 6, 22, 26, 28, 28, 60, 33, 32, 32, 32, 29, 30,
29, 30, 29, 30, 30, 30, 30, 32, 30, 34, 32, 35, 35, 36, 35, 35, 35, 34, 32, 33, 33, 34, 35, 34, 35, 35, 35, 35, 35, 35, 35, 34, 34, 33, 32, 32, 31, 30, 31, 30, 31, 30, 28, 30, 29, 30, 30, 29, 31, 28, 30, 29, 30, 28, 29, 31, 10, 16, 59, 30,
31, 30, 30, 30, 31, 32, 32, 34, 32, 31, 32, 32, 32, 30, 30, 30, 32, 29, 31, 29, 31, 30, 30, 29, 32, 29, 31, 31, 30, 31, 31, 29, 31, 32, 30, 31, 31, 31, 30, 31, 31, 33, 32, 31, 30, 31, 30, 31, 30, 31, 30, 31, 31, 31, 31, 31, 30, 32, 33, 33,
31, 31, 33, 31, 32, 32, 31, 31, 30, 33, 31, 31, 31, 29, 31, 29, 31, 28, 31, 30, 30, 28, 30, 30, 29, 29, 29, 31, 30, 30, 30, 30, 28, 31, 28, 30, 31, 30, 29, 30, 28, 30, 29, 29, 31, 28, 31, 29, 31, 30, 30, 32, 30, 31, 29, 31, 29, 31, 29, 31,
31, 29, 31, 31, 28, 31, 29, 28, 30, 29, 27, 29, 29, 31, 30, 30, 31, 31, 29, 32, 30, 32, 30, 31, 32, 30, 31, 30, 33, 30, 30, 33, 29, 31, 30, 33, 31, 33, 29, 31, 12, 13, 62, 29, 31, 29, 30, 29, 29, 31, 29, 31, 28, 32, 29, 33, 30, 33, 30, 29,
31, 30, 31, 31, 31, 31, 32, 31, 31, 31, 31, 31, 30, 30, 31, 33, 32, 32, 30, 30, 4, 22, 29, 29, 29, 29, 29, 29, 33, 28, 67, 31, 31, 32, 32, 32, 32, 32, 32, 31, 31, 30, 31, 31, 32, 32, 33, 33, 33, 32, 33, 33, 33, 33, 33, 33, 33, 33, 32, 33,
32, 32, 32, 32, 32, 34, 34, 34, 33, 33, 32, 33, 33, 32, 34, 32, 34, 31, 34, 32, 33, 32, 32, 31, 31, 30, 31, 29, 32, 29, 31, 29, 31, 30, 30, 32, 33, 32, 32, 30, 31, 31, 31, 32, 33, 30, 33, 29, 32, 29, 30, 31, 31, 29, 30, 30, 30, 28, 30, 28,
31, 29, 32, 29, 32, 31, 30, 31, 31, 31, 28, 29, 9, 45, 27, 27, 29, 26, 29, 27, 26, 26, 27, 27, 28, 26, 30, 29, 29, 32, 29, 31, 29, 31, 29, 31, 29, 31, 29, 32, 30, 29, 32, 29, 31, 29, 30, 30, 31, 30, 31, 28, 30, 28, 31, 30, 30, 30, 30, 29,
31, 31, 32, 30, 32, 30, 30, 31, 29, 32, 28, 30, 30, 29, 29, 30, 29, 30, 29, 30, 30, 28, 30, 30, 29, 31, 32, 31, 32, 31, 31, 31, 31, 32, 32, 31, 31, 30, 30, 29, 30, 31, 31, 31, 30, 31, 29, 32, 29, 33, 29, 31, 31, 32, 31, 31, 31, 31, 31, 31,
32, 33, 33, 33, 31, 32, 32, 32, 30, 31, 28, 3, 22, 27, 27, 27, 28, 28, 27, 28, 59, 30, 32, 32, 32, 32, 32, 31, 31, 31, 31, 32, 32, 31, 31, 32, 32, 32, 31, 31, 31, 30, 30, 30, 31, 29, 32, 31, 32, 30, 30, 30, 29, 30, 31, 31, 29, 30, 30, 31,
30, 30, 31, 29, 29, 30, 30, 31, 30, 33, 31, 32, 31, 31, 31, 32, 33, 33, 33, 33, 33, 32, 32, 33, 30, 32, 31, 31, 32, 30, 33, 33, 31, 34, 10, 16, 35, 28, 36, 67, 34, 32, 5, 21, 33, 28, 25, 30, 27, 26, 27, 58, 29, 29, 28, 30, 29, 31, 28, 31,
29, 31, 29, 30, 30, 30, 30, 30, 30, 29, 30, 30, 30, 30, 29, 30, 30, 30, 30, 31, 30, 31, 29, 29, 29, 27, 30, 28, 29, 31, 4, 22, 29, 27, 28, 28, 28, 28, 25, 28, 28, 30, 30, 27, 25, 29, 61, 31, 31, 33, 30, 31, 31, 32, 32, 31, 33, 32, 31, 32,
32, 33, 33, 36, 31, 32, 32, 32, 32, 32, 32, 31, 33, 30, 33, 32, 31, 33, 32, 33, 31, 34, 32, 34, 33, 33, 35, 35, 35, 34, 35, 34, 34, 35, 34, 35, 34, 34, 35, 34, 35, 35, 34, 34, 34, 34, 35, 35, 34, 35, 35, 36, 35, 34, 36, 33, 36, 34, 34, 34,
34, 35, 35, 34, 34, 35, 34, 36, 33, 35, 35, 34, 35, 34, 34, 34, 34, 34, 35, 35, 34, 35, 34, 35, 36, 33, 35, 35, 34, 35, 35, 34, 35, 35, 35, 35, 34,]
tests["Reaction Quake 3, AMD A10-6800K"] = [3, 1, 2, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 2, 1, 2,
1, 2, 1, 2, 1, 2, 1, 2, 2, 3, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 8, 14, 10, 10, 17, 10, 10, 10, 10, 13, 10, 10, 17, 10, 10, 10, 20, 9, 10, 20, 10, 14, 16, 10, 24,
10, 17, 20, 20, 20, 13, 17, 20, 20, 13, 17, 20, 14, 17, 21, 23, 16, 21, 19, 15, 17, 20, 15, 20, 17, 20, 10, 20, 15, 19, 7, 21, 15, 20, 7, 14, 15, 9, 16, 10, 12, 14, 10, 16, 4, 10, 10, 10, 14, 12, 6, 11, 7, 10, 16, 6, 12, 12, 3, 11,
11, 12, 5, 6, 17, 10, 10, 15, 12, 2, 11, 11, 12, 6, 16, 14, 17, 7, 16, 6, 7, 10, 15, 10, 7, 16, 13, 11, 4, 13, 17, 6, 18, 5, 12, 20, 6, 12, 10, 16, 18, 11, 10, 11, 11, 14, 8, 10, 15, 21, 4, 13, 10, 15, 12, 9, 11, 10, 14, 4,
7, 8, 9, 10, 9, 9, 9, 6, 7, 10, 11, 10, 10, 9, 6, 3, 9, 9, 5, 9, 8, 9, 5, 13, 6, 8, 2, 9, 8, 6, 4, 8, 8, 14, 10, 3, 11, 14, 3, 2, 13, 11, 15, 2, 4, 10, 14, 2, 10, 3, 1, 8, 3, 12, 6, 3, 7, 9, 5, 3,
14, 13, 18, 20, 14, 16, 18, 15, 14, 19, 11, 18, 24, 15, 25, 26, 24, 29, 29, 25, 27, 34, 38, 26, 40, 38, 38, 36, 38, 39, 37, 38, 22, 10, 12, 13, 10, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 11, 12, 11, 12, 11, 11, 11, 11, 11, 10,
11, 10, 11, 11, 11, 11, 11, 11, 11, 11, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 11, 20, 11, 11, 11, 11, 11, 11, 11, 14, 11, 20, 11, 12, 11, 11, 12, 13, 11, 14, 17, 11, 11, 12,
11, 12, 11, 11, 12, 11, 12, 11, 11, 12, 11, 12, 11, 11, 11, 11, 11, 8, 8, 10, 11, 12, 11, 11, 11, 12, 12, 11, 12, 11, 11, 12, 11, 12, 11, 6, 11, 11, 11, 11, 11, 16, 12, 11, 11, 11, 11, 11, 11, 12, 11, 11, 13, 10, 12, 11, 11, 10, 12, 11,
11, 11, 10, 11, 12, 11, 17, 11, 12, 11, 15, 10, 11, 17, 11, 12, 11, 11, 11, 12, 11, 17, 11, 6, 17, 11, 16, 11, 11, 11, 11, 12, 11, 11, 11, 12, 11, 11, 12, 12, 11, 10, 10, 11, 11, 17, 11, 11, 3, 11, 13, 12, 11, 12, 12, 11, 11, 12, 2, 1,
7, 2, 9, 3, 9, 11, 2, 9, 11, 11, 11, 11, 11, 12, 12, 11, 12, 12, 11, 12, 12, 12, 11, 12, 6, 12, 11, 6, 16, 11, 11, 9, 17, 17, 15, 21, 17, 12, 8, 12, 2, 10, 6, 7, 12, 2, 2, 9, 2, 4, 7, 1, 2, 9, 7, 6, 5, 7, 6, 7,
13, 2, 4, 7, 6, 9, 10, 2, 4, 7, 2, 10, 2, 5, 6, 2, 11, 2, 2, 9, 2, 5, 6, 2, 11, 1, 4, 6, 13, 11, 11, 12, 17, 19, 7, 16, 11, 21, 10, 17, 24, 24, 12, 26, 21, 23, 38, 26, 30, 25, 36, 25, 15, 25, 24, 25, 28, 33, 27, 27,
36, 31, 22, 25, 7, 10, 12, 13, 16, 8, 12, 12, 15, 12, 12, 12, 15, 15, 12, 17, 6, 17, 12, 11, 7, 6, 11, 12, 2, 9, 6, 5, 7, 6, 12, 10, 11, 6, 6, 12, 6, 6, 11, 2, 9, 4, 10, 2, 9, 2, 8, 1, 4, 7, 1, 5, 5, 2, 4, 5,
1, 5, 4, 6, 4, 2, 10, 1, 2, 4, 5, 1, 10, 1, 2, 3, 5, 2, 5, 4, 4, 2, 3, 7, 2, 4, 5, 3, 9, 2, 3, 6, 1, 5, 8, 2, 8, 2, 13, 5, 11, 6, 10, 13, 6, 11, 11, 16, 16, 11, 11, 17, 14, 23, 14, 19, 12, 31, 16, 10,
12, 19, 11, 17, 9, 9, 10, 9, 10, 10, 9, 1, 8, 11, 9, 1, 9, 10, 9, 2, 19, 9, 10, 21, 20, 10, 1, 8, 19, 9, 10, 10, 18, 9, 10, 9, 11, 18, 10, 10, 9, 10, 11, 11, 11, 5, 11, 11, 11, 6, 11, 11, 11, 5, 10, 10, 5, 6, 7, 7,
9, 11, 2, 8, 3, 7, 8, 2, 9, 7, 5, 10, 7, 4, 5, 10, 7, 4, 12, 11, 4, 10, 10, 14, 10, 17, 10, 10, 18, 8, 16, 8, 16, 18, 8, 12, 8, 36, 4, 28, 14, 28, 7, 11, 14, 20, 10, 11, 11, 15, 10, 11, 11, 16, 11, 11, 7, 11, 10, 15,
10, 15, 6, 10, 11, 11, 10, 11, 11, 10, 11, 10, 6, 11, 10, 10, 11, 12, 5, 11, 10, 13, 8, 9, 12, 11, 13, 2, 13, 10, 11, 11, 7, 10, 11, 13, 4, 11, 12, 8, 11, 17, 10, 11, 9, 15, 11, 10, 11, 8, 14, 8, 10, 10, 16, 7, 8, 14, 11, 11,
6, 11, 10, 12, 6, 7, 10, 11, 17, 7, 10, 11, 8, 11, 11, 10, 11, 11, 6, 11, 10, 18, 10, 4, 11, 11, 10, 11, 11, 17, 10, 14, 11, 21, 11, 21, 7, 21, 4, 17, 10, 5, 17, 17, 11, 10, 14, 17, 10, 10, 9, 21, 9, 10, 11, 15, 11, 11, 13, 10,
10, 11, 10, 17, 10, 17, 12, 11, 12, 11, 10, 11, 11, 11, 11, 16, 13, 11, 10, 17, 11, 13, 11, 11, 37, 29, 23, 27, 26, 36, 25, 24, 19, 24, 25, 23, 30, 25, 21, 24, 23, 19, 14, 28, 14, 31, 17, 18, 15, 21, 11, 12, 12, 12, 12, 11, 11, 10, 11, 11,
7, 16, 12, 7, 4, 3, 2, 10, 2, 2, 8, 2, 5, 6, 2, 10, 2, 2, 12, 12, 12, 3, 9, 12, 11, 7, 6, 11, 7, 5, 11, 7, 5, 6, 6, 11, 6, 8, 13, 12, 14, 7, 4, 10, 23, 7, 11, 11, 17, 17, 17, 19, 19, 27, 25, 22, 40, 39, 31, 36,
36, 6, 7, 12, 12, 11, 12, 13, 13, 11, 3, 12, 10, 12, 3, 12, 11, 6, 17, 12, 11, 18, 22, 21, 16, 24, 18, 15, 17, 19, 12, 16, 14, 7, 11, 5, 10, 11, 7, 5, 11, 11, 16, 11, 11, 10, 10, 3, 3, 10, 5, 6, 11, 5, 16, 5, 11, 11, 5, 10,
6, 10, 4, 6, 9, 5, 2, 1, 7, 2, 5, 4, 1, 5, 4, 3, 8, 11, 2, 9, 11, 2, 9, 6, 6, 11, 6, 4, 11, 10, 6, 11, 6, 11, 6, 6, 11, 6, 5, 6, 5, 2, 9, 2, 11, 2, 4, 5, 5, 6, 10, 2, 9, 15, 6, 17, 11, 11, 11, 12,
4, 8, 13, 17, 13, 22, 13, 13, 13, 13, 13, 10, 18, 8, 10, 18, 9, 10, 7, 10, 11, 2, 9, 5, 6, 3, 12, 11, 11, 25, 19, 10, 22, 14, 21, 19, 18, 25, 27, 34, 27, 28, 24, 26, 26, 25, 37, 34, 22, 41, 41, 33, 45, 29, 23, 24, 14, 12, 14, 19,
10, 16, 12, 11, 14, 13, 17, 14, 12, 10, 10, 14, 11, 9, 9, 9, 10, 5, 11, 10, 14, 10, 11, 10, 13, 10, 9, 4, 10, 10, 11, 15, 10, 5, 10, 12, 11, 10, 5, 13, 6, 15, 10, 13, 10, 10, 8, 10, 13, 13, 9, 11, 11, 10, 9, 12, 9, 12, 9, 9,
9, 10, 11, 9, 12, 9, 11, 13, 10, 12, 10, 11, 11, 18, 8, 13, 10, 11, 6, 7, 10, 10, 12, 11, 12, 11, 12, 12, 11, 10, 13, 12, 9, 11, 11, 11, 7, 11, 5, 11, 11, 10, 7, 9, 9, 7, 3, 9, 10, 10, 9, 7, 5, 10, 12, 7, 5, 10, 10, 10,
2, 12, 6, 6, 9, 10, 3, 13, 3, 9, 10, 10, 6, 14, 4, 11, 5, 13, 2, 12, 5, 10, 9, 10, 10, 6, 9, 9, 6, 11, 9, 10, 10, 6, 10, 9, 10, 4, 10, 13, 13, 9, 10, 9, 12, 9, 11, 10, 9, 10, 9, 6, 13, 11, 7, 9, 10, 8, 12, 9,
16, 7, 11, 10, 11, 10, 11, 11, 10, 14, 11, 9, 14, 8, 11, 10, 10, 13, 8, 11, 11, 12, 11, 7, 6, 11, 10, 11, 9, 11, 11, 10, 11, 10, 10, 7, 14, 10, 10, 10, 10, 10, 10, 10, 7, 11, 14, 11, 6, 15, 10, 10, 10, 14, 7, 11, 10, 14, 10, 11,
11, 11, 10, 11, 15, 7, 10, 11, 10, 11, 11, 11, 11, 15, 10, 10, 10, 7, 11, 16, 12, 8, 12, 10, 10, 10, 11, 10, 12, 10, 12, 12, 10, 17, 6, 10, 18, 8, 11, 12, 14, 11, 12, 15, 12, 11, 17, 12, 18, 11, 12, 12, 11, 10, 10, 13, 8, 6, 9, 14,
9, 13, 12, 12, 12, 11, 11, 11, 10, 7, 10, 11, 6, 8, 11, 2, 11, 9, 7, 5, 14, 5, 8, 9, 7, 6, 8, 3, 9, 2, 9, 2, 9, 7, 5, 7, 6, 4, 7, 5, 7, 4, 7, 5, 4, 11, 3, 8, 4, 8, 5, 11, 2, 5, 5, 6, 5, 2, 5, 11,
7, 5, 11, 5, 7, 6, 12, 4, 12, 2, 11, 7, 8, 10, 2, 10, 2, 9, 3, 8, 2, 10, 9, 2, 9, 5, 6, 6, 9, 7, 5, 7, 11, 6, 11, 5, 12, 5, 11, 5, 11, 5, 11, 5, 11, 12, 2, 10, 13, 12, 12, 13, 12, 12, 12, 1, 11, 10, 11, 11,
10, 11, 9, 10, 8, 9, 12, 8, 14, 13, 16, 13, 14, 15, 13, 21, 4, 20, 9, 9, 9, 12, 7, 9, 9, 7, 13, 6, 8, 4, 11, 5, 10, 9, 11, 6, 7, 10, 8, 9, 9, 4, 16, 9, 13, 7, 10, 10, 15, 9, 8, 11, 11, 9, 9, 7, 13, 9, 7, 5,
7, 8, 2, 7, 13, 6, 1, 6, 12, 1, 16, 2, 1, 6, 11, 7, 1, 7, 9, 9, 1, 8, 9, 1, 7, 9, 2, 4, 12, 1, 8, 9, 9, 1, 7, 9, 2, 16, 1, 1, 8, 17, 1, 7, 1, 9, 7, 2, 7, 9, 2, 7, 9, 9, 2, 7, 9, 2, 7, 9,
9, 1, 8, 9, 1, 8, 9, 1, 7, 8, 9, 1, 8, 9, 1, 8, 9, 1, 8, 9, 9, 8, 1, 7, 1, 7, 11, 7, 1, 8, 9, 9, 1, 1, 7, 8, 20, 1, 13, 4, 20, 2, 10, 9, 15, 14, 1, 10, 11, 22, 18, 1, 2, 28, 2, 13, 14, 18, 13, 2,
12, 14, 11, 11, 13, 11, 12, 11, 11, 11, 10, 10, 19, 21, 2, 8, 11, 20, 1, 9, 10, 10, 10, 30, 1, 9, 10, 10, 10, 9, 11, 10, 10, 10, 9, 11, 10, 10,]
tests["Reaction Quake 3, Intel Core i7 4770K"] = [24, 3, 7, 16, 17, 17, 16, 17, 16, 15, 16, 15, 14, 15, 15, 14, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 14, 10, 13, 13, 15, 12, 14, 12, 13, 28, 4, 5, 13, 14, 14, 10, 12, 13, 13, 14, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 10, 13, 12, 12,
13, 12, 13, 14, 12, 13, 10, 15, 24, 2, 10, 14, 13, 11, 13, 13, 12, 13, 12, 13, 13, 12, 12, 12, 13, 13, 10, 15, 13, 13, 12, 12, 13, 13, 12, 12, 13, 13, 12, 12, 13, 12, 13, 12, 11, 9, 13, 14, 13, 12, 14, 11, 14, 12, 11, 12, 11, 11, 12, 13,
13, 15, 13, 11, 14, 9, 13, 16, 9, 18, 14, 13, 14, 9, 14, 20, 13, 14, 15, 9, 15, 13, 10, 16, 17, 13, 12, 14, 13, 9, 16, 35, 8, 7, 7, 13, 16, 15, 13, 12, 14, 9, 15, 20, 12, 16, 10, 16, 14, 14, 11, 14, 11, 11, 13, 10, 15, 10, 18, 12,
13, 12, 11, 11, 13, 11, 15, 10, 9, 14, 11, 12, 11, 11, 12, 11, 15, 13, 13, 12, 11, 11, 12, 12, 11, 14, 11, 11, 12, 11, 12, 11, 16, 7, 18, 16, 16, 15, 15, 16, 17, 17, 16, 16, 14, 15, 11, 14, 11, 12, 13, 14, 11, 12, 11, 11, 14, 11, 12, 13,
13, 10, 12, 11, 11, 11, 12, 11, 11, 11, 11, 12, 11, 11, 11, 12, 10, 18, 15, 16, 17, 16, 16, 16, 16, 17, 18, 14, 17, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 15, 14, 15, 15, 14, 15, 15, 15, 16, 14, 15, 15,
17, 15, 14, 14, 15, 18, 13, 14, 14, 14, 13, 14, 14, 13, 14, 8, 15, 16, 11, 17, 14, 14, 13, 8, 14, 18, 13, 13, 14, 11, 13, 14, 12, 13, 8, 14, 15, 10, 16, 16, 12, 14, 13, 13, 8, 14, 17, 10, 16, 15, 13, 14, 8, 14, 14, 16, 10, 14, 17, 13,
13, 9, 14, 16, 10, 14, 17, 14, 14, 13, 8, 14, 16, 11, 16, 15, 13, 14, 13, 9, 13, 13, 17, 14, 14, 13, 9, 14, 16, 11, 16, 16, 13, 14, 8, 14, 15, 12, 16, 16, 14, 8, 13, 19, 13, 13, 13, 15, 13, 9, 14, 13, 15, 16, 15, 7, 18, 10, 14, 14,
14, 14, 13, 14, 14, 15, 12, 17, 15, 14, 9, 14, 16, 11, 18, 14, 14, 8, 14, 17, 10, 15, 17, 13, 8, 14, 14, 13, 14, 14, 14, 13, 14, 13, 13, 14, 14, 14, 13, 13, 13, 15, 13, 15, 14, 14, 13, 14, 14, 13, 14, 14, 13, 14, 14, 13, 14, 13, 14, 13,
14, 13, 14, 13, 14, 13, 13, 14, 13, 14, 14, 13, 14, 14, 13, 15, 13, 14, 13, 15, 13, 15, 13, 15, 14, 14, 14, 18, 9, 15, 12, 15, 17, 14, 8, 16, 14, 10, 14, 17, 16, 13, 9, 14, 17, 11, 14, 13, 14, 15, 17, 10, 15, 18, 13, 7, 13, 13, 12, 13,
13, 13, 13, 13, 13, 17, 14, 15, 10, 15, 20, 8, 14, 17, 12, 18, 15, 30, 9, 6, 9, 19, 11, 14, 20, 15, 9, 16, 13, 20, 13, 10, 15, 12, 13, 13, 13, 16, 13, 13, 12, 14, 12, 14, 12, 15, 12, 12, 12, 11, 10, 12, 11, 11, 15, 14, 21, 21, 20, 21,
21, 21, 21, 20, 19, 18, 15, 20, 16, 15, 14, 12, 17, 17, 15, 14, 18, 18, 16, 17, 15, 18, 15, 13, 16, 17, 19, 17, 18, 19, 9, 16, 17, 18, 9, 16, 17, 15, 8, 18, 13, 19, 13, 9, 14, 14, 13, 14, 14, 14, 14, 13, 14, 14, 14, 14, 14, 13, 13, 14,
14, 14, 14, 14, 13, 16, 13, 14, 13, 16, 16, 10, 16, 14, 15, 8, 19, 8, 17, 19, 13, 8, 12, 19, 9, 13, 15, 14, 13, 13, 12, 12, 13, 9, 14, 15, 12, 18, 14, 14, 10, 15, 18, 14, 14, 14, 11, 15, 15, 11, 12, 11, 12, 11, 11, 13, 11, 12, 11, 11,
13, 11, 12, 12, 11, 12, 12, 12, 12, 12, 11, 12, 12, 12, 13, 12, 12, 12, 12, 11, 12, 13, 11, 13, 11, 12, 13, 11, 11, 13, 12, 12, 11, 13, 12, 12, 13, 12, 13, 13, 12, 13, 13, 14, 9, 15, 12, 13, 17, 14, 13, 12, 14, 8, 17, 14, 16, 15, 10, 16,
8, 14, 13, 16, 11, 12, 11, 13, 11, 12, 11, 12, 11, 11, 12, 11, 11, 11, 10, 11, 12, 11, 13, 13, 19, 16, 16, 16, 16, 17, 16, 18, 15, 11, 16, 13, 15, 14, 14, 11, 14, 16, 16, 13, 11, 14, 17, 14, 14, 14, 11, 15, 16, 14, 14, 14, 11, 15, 16, 14,
13, 13, 11, 14, 16, 15, 15, 10, 17, 15, 15, 13, 12, 15, 17, 13, 15, 11, 14, 16, 14, 15, 14, 10, 17, 17, 13, 16, 11, 16, 14, 15, 12, 13, 17, 14, 15, 13, 12, 16, 15, 17, 10, 18, 16, 15, 13, 13, 17, 16, 12, 16, 11, 18, 14, 16, 15, 13, 16, 12,
15, 11, 13, 16, 18, 15, 9, 14, 18, 13, 14, 14, 10, 14, 18, 14, 15, 10, 16, 13, 16, 15, 13, 11, 14, 15, 16, 14, 13, 15, 11, 15, 16, 14, 13, 15, 11, 15, 15, 14, 14, 15, 13, 17, 13, 14, 11, 14, 14, 19, 13, 13, 13, 13, 14, 13, 15, 10, 18, 14,
17, 14, 11, 16, 15, 13, 14, 11, 13, 19, 14, 14, 12, 13, 19, 14, 16, 14, 12, 17, 13, 14, 13, 16, 15, 14, 14, 11, 16, 16, 17, 10, 20, 15, 15, 13, 13, 17, 14, 16, 14, 14, 14, 14, 17, 13, 17, 13, 15, 14, 14, 14, 14, 16, 17, 14, 17, 10, 15, 17,
14, 14, 11, 14, 17, 15, 18, 11, 17, 14, 13, 11, 17, 12, 19, 14, 12, 17, 15, 14, 14, 10, 17, 14, 22, 11, 12, 20, 8, 16, 13, 21, 13, 14, 8, 15, 13, 18, 15, 13, 9, 13, 17, 12, 17, 19, 10, 21, 17, 13, 16, 15, 13, 11, 14, 17, 13, 15, 15, 11,
16, 15, 14, 16, 10, 14, 15, 18, 15, 12, 17, 17, 12, 16, 16, 15, 15, 14, 18, 14, 11, 14, 15, 14, 14, 15, 14, 14, 14, 15, 14, 14, 14, 14, 15, 13, 14, 13, 14, 15, 13, 17, 14, 14, 13, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 13, 13, 14,
18, 11, 13, 14, 13, 13, 13, 14, 9, 14, 9, 14, 15, 11, 15, 13, 13, 13, 12, 14, 12, 10, 13, 15, 9, 15, 12, 16, 14, 14, 13, 12, 14, 8, 14, 15, 10, 15, 17, 14, 14, 8, 14, 15, 13, 18, 12, 9, 14, 18, 10, 13, 16, 16, 13, 13, 13, 14, 11, 17,
15, 15, 14, 11, 18, 14, 13, 12, 11, 11, 12, 11, 11, 12, 14, 13, 14, 9, 15, 12, 16, 16, 13, 14, 9, 14, 14, 13, 14, 14, 14, 15, 12, 11, 13, 9, 12, 15, 10, 12, 13, 13, 15, 13, 13, 12, 13, 13, 14, 12, 15, 9, 14, 11, 13, 15, 12, 12, 11, 12,
12, 12, 13, 12, 13, 13, 10, 15, 12, 11, 12, 11, 13, 11, 14, 12, 12, 15, 9, 14, 13, 13, 15, 12, 13, 12, 13, 16, 10, 15, 11, 20, 19, 7, 18, 15, 16, 8, 14, 17, 9, 17, 16, 14, 16, 8, 15, 14, 14, 14, 13, 15, 7, 12, 19, 9, 14, 18, 14, 8,
13, 19, 8, 16, 15, 15, 12, 12, 13, 8, 11, 20, 7, 16, 11, 15, 9, 13, 13, 17, 10, 16, 11, 16, 5, 13, 13, 19, 7, 12, 11, 17, 8, 16, 9, 14, 11, 12, 17, 7, 16, 15, 13, 16, 6, 13, 16, 15, 7, 15, 15, 13, 17, 11, 15, 8, 16, 11, 17, 12,
14, 14, 17, 13, 19, 14, 10, 16, 11, 17, 16, 13, 14, 8, 13, 20, 14, 11, 10, 8, 14, 15, 14, 7, 15, 15, 15, 8, 12, 19, 9, 13, 19, 15, 7, 13, 16, 9, 14, 12, 13, 13, 14, 11, 15, 14, 11, 12, 13, 10, 15, 12, 12, 12, 11, 12, 10, 12, 12, 11,
15, 11, 11, 13, 11, 10, 12, 9, 14, 10, 13, 12, 11, 13, 10, 16, 6, 16, 14, 14, 6, 15, 12, 13, 12, 16, 13, 13, 14, 15, 15, 10, 14, 15, 16, 14, 7, 17, 12, 16, 9, 15, 19, 11, 14, 12, 7, 14, 17, 8, 14, 12, 14, 13, 9, 15, 15, 12, 13, 11,
14, 12, 12, 11, 13, 12, 13, 12, 9, 17, 12, 12, 12, 14, 12, 13, 12, 13, 12, 13, 12, 12, 13, 13, 12, 12, 12, 7, 14, 13, 15, 10, 15, 11, 14, 17, 14, 12, 16, 13, 10, 14, 15, 12, 13, 13, 11, 15, 13, 12, 15, 12, 9, 14, 16, 17, 13, 12, 16, 13,
12, 14, 14, 14, 15, 15, 17, 14, 9, 14, 17, 10, 18, 15, 11, 13, 14, 13, 14, 13, 14, 16, 14, 13, 14, 13, 12, 13, 12, 13, 13, 13, 13, 14, 13, 16, 13, 13, 14, 13, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13,
13, 14, 14, 15, 13, 15, 13, 14, 15, 14, 11, 14, 12, 16, 15, 13, 13, 12, 12, 10, 14, 11, 13, 13, 15, 13, 14, 14, 14, 10, 15, 16, 14, 14, 13, 14, 10, 13, 12, 13, 14, 13, 11, 13, 9, 15, 10, 16, 14, 18, 17, 14, 16, 15, 13, 14, 12, 10, 12, 12,
10, 14, 11, 12, 10, 15, 11, 11, 11, 13, 10, 13, 10, 13, 11, 10, 9, 13, 14, 8, 11, 12, 15, 7, 12, 13, 11, 12, 10, 13, 10, 12, 11, 10, 14, 12, 10, 13, 11, 12, 10, 13, 11, 11, 11, 11, 11, 11, 11, 11, 12, 10, 11, 11, 11, 10, 12, 11, 10, 12,
11, 11, 11, 11, 11, 11, 10, 11, 12, 10, 9, 12, 11, 11, 11, 11, 11, 12, 11, 11, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 10, 12, 12, 10, 10, 11, 11, 11, 9, 11, 12, 14, 7, 18, 17, 18, 12, 22, 15, 15, 17, 17, 15, 16, 17, 18, 16, 15,
16, 22, 16, 16, 15, 14, 15, 13, 15, 13, 15, 14, 13, 14, 11, 13, 14, 15, 13, 13, 14, 12, 14, 13, 11, 13, 16, 13, 13, 13, 14, 12, 14, 13, 11, 13, 15, 13, 13, 13, 13, 12, 14, 13, 11, 13, 14, 15, 13, 13, 14, 13, 13, 13, 11, 13, 15, 13, 13, 12,
14, 12, 14, 13, 13, 11, 13, 15, 13, 12, 13, 14, 12, 14, 13, 13, 11, 13, 15, 13, 13, 12, 13, 13, 13, 14, 12, 12, 13, 15, 13, 14, 12, 12, 13, 12, 14, 11, 17, 13, 13, 13, 14, 12, 13, 14, 11, 17, 13, 13, 14, 14, 10, 14, 14, 17, 15, 15, 14, 17,
15, 13, 17, 16, 15, 12, 15, 13, 14, 13, 13, 12, 15, 14, 13, 15, 14, 14, 13, 14, 13, 13, 14, 14, 11, 16, 14, 15, 13, 14, 12, 13, 16, 14, 13, 14, 14, 11,]
tests["Unvanquished 1680 x 1050, AMD A10-6800K"] = [28, 12, 14, 13, 13, 15, 15, 14, 15, 14, 15, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 14, 15, 15, 16, 15, 15, 15, 14, 15, 15, 15, 15, 16, 17, 15, 16, 16, 16, 16, 17, 17, 17, 17, 16, 18, 18, 18, 18, 18, 18, 17, 17, 17,
18, 17, 17, 16, 16, 17, 17, 17, 17, 15, 14, 14, 14, 14, 13, 14, 14, 14, 15, 15, 15, 14, 14, 15, 15, 35, 14, 15, 15, 14, 15, 14, 14, 14, 14, 14, 13, 13, 12, 15, 14, 14, 15, 14, 15, 15, 15, 15, 15, 15, 15, 14, 14, 15, 14, 14, 14, 14, 14, 15,
15, 14, 14, 13, 13, 12, 13, 12, 13, 13, 13, 13, 13, 13, 13, 13, 24, 12, 13, 13, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 16, 15, 16, 16,
18, 20, 17, 19, 17, 18, 17, 17, 18, 19, 19, 19, 17, 16, 16, 16, 17, 16, 17, 17, 17, 17, 18, 18, 18, 18, 18, 21, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 21, 21, 20, 21, 21, 21, 20, 20, 20, 20,
21, 20, 20, 19, 19, 18, 18, 18, 19, 18, 17, 17, 18, 18, 18, 17, 18, 18, 17, 18, 17, 16, 17, 16, 16, 17, 15, 14, 14, 16, 14, 15, 20, 20, 20, 20, 21, 20, 20, 20, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 20, 19, 20,
21, 20, 20, 20, 19, 20, 20, 21, 21, 21, 21, 21, 20, 19, 20, 20, 21, 21, 21, 21, 20, 22, 22, 23, 22, 18, 16, 15, 15, 15, 17, 16, 16, 16, 18, 16, 16, 16, 16, 16, 18, 17, 15, 17, 18, 17, 17, 16, 17, 16, 16, 16, 19, 26, 28, 28, 31, 32, 36, 35,
41, 38, 37, 36, 33, 33, 33, 33, 33, 32, 32, 32, 31, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33, 33, 33, 32, 33, 33, 33, 33, 34, 33, 33, 33, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 19, 18, 22, 21, 21, 21, 20, 21, 21, 22, 20, 21, 21, 21, 21, 21, 24, 25, 23, 23, 23, 24, 21, 22, 21, 22, 22, 22,
22, 22, 22, 24, 26, 22, 24, 20, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 19, 18, 17, 18, 18, 19, 19, 19, 19, 20, 17, 17, 17, 17, 16, 16, 21, 22, 22, 21, 22, 22, 22, 22, 22, 24, 25, 26, 24, 25, 29, 23, 26, 24, 23, 22, 25, 22, 24, 23, 27, 21,
21, 22, 21, 21, 21, 20, 23, 21, 15, 23, 25, 25, 26, 26, 26, 26, 26, 26, 26, 25, 24, 25, 24, 23, 23, 23, 23, 23, 23, 23, 22, 22, 21, 22, 22, 22, 22, 22, 22, 22, 22, 21, 22, 20, 21, 21, 21, 20, 20, 20, 20, 21, 20, 20, 21, 20, 20, 20, 21, 21,
21, 21, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 20, 21, 20, 22, 22, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 22, 24, 23, 23, 22, 23, 23, 23, 24, 23, 24, 24, 24, 24, 24, 24, 23, 24, 24, 24, 23, 23, 23, 24, 24, 24, 24, 22, 23, 23, 24,
24, 24, 23, 24, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 24, 24, 23, 24, 23, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 26, 26, 25, 25, 24, 25, 25, 25, 24, 25, 25, 25, 25, 25, 25, 24, 24, 24,
25, 25, 25, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 24, 25, 24, 25, 24, 25, 24, 24, 24, 25, 24, 24, 23, 24, 24, 24, 24, 25, 24, 25, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 22, 23, 22, 23, 22, 22, 22, 22, 22, 22, 22,
17, 17, 18, 17, 18, 19, 18, 18, 18, 18, 18, 20, 20, 18, 17, 18, 18, 18, 20, 18, 20, 16, 17, 17, 16, 16, 22, 16, 21, 20, 22, 21, 20, 20, 21, 21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 19, 22, 21, 21, 21, 21,
22, 22, 22, 21, 21, 21, 21, 21, 23, 21, 21, 21, 21, 20, 20, 21, 20, 21, 21, 21, 22, 21, 21, 21, 21, 21, 20, 20, 20, 20, 21, 20, 19, 19, 19, 20, 20, 20, 20, 19, 19, 20, 19, 19, 20, 19, 19, 19, 17, 16, 17, 17, 17, 17, 17, 19, 17, 17, 19, 19,
18, 19, 19, 20, 18, 18, 18, 18, 19, 20, 17, 17, 17, 17, 24, 23, 22, 23, 24, 24, 25, 24, 23, 18, 18, 19, 19, 19, 16, 15, 16, 16, 16, 16, 16, 17, 22, 24, 25, 26, 26, 24, 26, 25, 24, 24, 24, 26, 24, 25, 25, 26, 23, 24, 24, 24, 23, 23, 23, 24,
24, 23, 24, 23, 24, 23, 23, 23, 23, 24, 23, 23, 23, 23, 24, 23, 23, 24, 23, 24, 22, 21, 21, 21, 21, 22, 23, 22, 23, 22, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 22, 22, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 24, 24, 24, 25, 24, 24, 24, 24, 24, 25, 24, 24, 24, 24, 24, 26, 26, 26, 26, 26, 23, 21, 22, 22, 22, 23, 19, 15, 17, 17, 17, 17, 21, 21, 21, 20, 21, 21, 21, 22, 29, 28, 28, 28, 28,
29, 30, 27, 28, 27, 27, 27, 27, 26, 26, 26, 26, 26, 24, 24, 21, 21, 21, 21, 21, 22, 21, 21, 22, 21, 21, 21, 21, 22, 21, 22, 21, 24, 25, 25, 25, 25, 25, 24, 23, 23, 22, 23, 23, 23, 21, 24, 24, 24, 21, 24, 24, 24, 23, 23, 24, 23, 23, 23, 22,
26, 21, 22, 27, 22, 23, 24, 29, 24, 24, 24, 24, 24, 28, 24, 30, 24, 24, 30, 24, 24, 24, 24, 28, 23, 22, 22, 23, 22, 22, 23, 22, 24, 21, 25, 23, 26, 23, 27, 23, 27, 24, 25, 22, 25, 23, 27, 22, 26, 23, 26, 22, 25, 22, 25, 22, 25, 22, 26, 21,
22, 21, 19, 19, 23, 19, 23, 21, 20, 20, 20, 20, 20, 20, 19, 19, 22, 19, 22, 21, 21, 21, 21, 21, 23, 21, 24, 21, 24, 21, 26, 22, 25, 22, 22, 22, 22, 22, 21, 20, 21, 21, 21, 20, 21, 21, 21, 21, 21, 20, 21, 21, 20, 21, 21, 20, 20, 20, 20, 20,
21, 20, 20, 20, 20, 19, 20, 20, 21, 22, 23, 23, 23, 22, 23, 23, 23, 22, 22, 23, 22, 22, 22, 22, 22, 22, 24, 23, 24, 24, 23, 23, 23, 23, 22, 22, 22, 22, 21, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 19, 20, 18, 19, 19, 19, 18, 19, 19, 19, 19,
19, 19, 19, 20, 22, 22, 21, 21, 20, 22, 22, 22, 22, 24, 21, 22, 22, 23, 23, 23, 21, 22, 24, 24, 21, 22, 22, 21, 25, 25, 22, 21, 21, 21, 21, 20, 19, 20, 21, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 24, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22,
22, 23, 21, 27, 23, 24, 23, 23, 23, 28, 24, 24, 28, 24, 29, 24, 24, 28, 27, 33, 32, 32, 32, 33, 33, 34, 32, 33, 33, 33, 34, 32, 33, 31, 32, 30, 32, 32, 32, 32, 32, 31, 32, 32, 32, 32, 34, 33, 33, 33, 33, 33, 28, 25, 25, 24, 23, 22, 22, 22,
23, 22, 22, 22, 21, 22, 21, 29, 31, 32, 31, 32, 29, 27, 27, 28, 28, 28, 27, 26, 26, 25, 26, 25, 26, 27, 28, 27, 26, 25, 25, 25, 26, 25, 29, 29, 27, 28, 27, 28, 27, 25, 25, 24, 23, 22, 23, 23, 24, 24, 23, 24, 25, 27, 28, 28, 27, 29, 27, 29,
28, 27, 26, 27, 24, 27, 25, 26, 24, 26, 25, 24, 25, 27, 25, 26, 25, 25, 26, 27, 25, 26, 24, 26, 28, 26, 27, 27, 27, 27, 28, 28, 26, 27, 27, 27, 28, 28, 26, 26, 27, 27, 27, 28, 27, 26, 26, 26, 26, 26, 26, 27, 28, 27, 26, 27, 26, 27, 27, 27,
28, 28, 30, 25, 26, 26, 26, 27, 27, 27, 26, 25, 26, 26, 25, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22, 26, 26, 26, 26, 25, 25, 26, 26, 25, 27, 26, 26, 25, 27, 25, 27, 25, 28, 26, 28, 26, 29, 27, 30, 32, 29, 29, 29, 28, 25, 27, 26, 27,
27, 26, 26, 27, 25, 24, 21, 22, 20, 19, 19, 26, 27, 29, 30, 30, 29, 30, 30, 30, 29, 29, 27, 26, 27, 27, 27, 27, 18, 18, 19, 18, 18, 18, 18, 18, 18, 18, 18, 17, 17, 18, 17, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14, 15, 13, 15, 14, 14, 13, 14,
15, 13, 12, 13, 13, 13, 13, 13, 13, 14, 13, 14, 14, 15, 19, 21, 21, 21, 21, 21, 22, 22, 22, 22, 21, 21, 18, 17, 16, 18, 18, 19, 19, 17, 19, 17, 15, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 13,
14, 13, 14, 13, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,]
tests["Unvanquished 1680 x 1050, Intel Core i7 4770K"] = [57, 43, 57, 51, 52, 56, 43, 42, 40, 43, 43, 46, 30, 43, 40, 40, 42, 34, 36, 36, 36, 35, 34, 34, 43, 37, 37, 37, 40, 40, 47, 37, 37, 34, 37, 37, 36, 39, 33, 34, 46, 26, 35, 33, 34, 34, 38, 42, 35, 38, 35, 34, 36, 35, 35, 35, 35, 41, 43, 40,
36, 38, 42, 40, 34, 34, 34, 41, 33, 35, 42, 35, 32, 32, 31, 32, 32, 32, 32, 39, 38, 33, 32, 42, 36, 40, 34, 31, 33, 32, 35, 34, 38, 37, 35, 33, 30, 30, 31, 40, 33, 31, 33, 38, 33, 33, 33, 33, 33, 33, 33, 33, 32, 32, 32, 32, 32, 32, 31, 32,
32, 30, 31, 30, 40, 30, 30, 30, 36, 31, 35, 30, 29, 30, 33, 34, 35, 30, 29, 30, 29, 29, 29, 30, 29, 30, 37, 28, 29, 35, 36, 28, 29, 30, 35, 30, 41, 30, 29, 30, 29, 33, 31, 30, 29, 36, 36, 36, 36, 36, 36, 36, 35, 29, 29, 29, 32, 38, 29, 34,
36, 36, 34, 36, 35, 35, 35, 34, 35, 36, 35, 36, 35, 33, 33, 34, 34, 35, 34, 35, 34, 35, 35, 35, 35, 35, 35, 36, 36, 37, 37, 36, 36, 37, 36, 37, 37, 36, 46, 36, 36, 37, 37, 37, 46, 37, 37, 38, 37, 38, 38, 37, 38, 37, 37, 37, 41, 34, 37, 35,
37, 36, 36, 36, 36, 36, 36, 35, 35, 34, 33, 33, 33, 33, 33, 33, 32, 33, 33, 32, 33, 32, 32, 32, 32, 32, 31, 31, 30, 31, 31, 31, 33, 35, 35, 35, 34, 35, 35, 42, 37, 40, 39, 36, 37, 35, 34, 35, 34, 35, 35, 35, 35, 35, 37, 35, 35, 36, 36, 35,
36, 35, 36, 35, 39, 45, 40, 36, 38, 44, 39, 43, 38, 38, 46, 39, 46, 43, 41, 47, 39, 42, 41, 48, 42, 40, 39, 36, 35, 36, 35, 35, 36, 35, 36, 36, 35, 36, 35, 48, 43, 43, 36, 35, 37, 37, 37, 44, 34, 37, 36, 36, 37, 42, 44, 49, 48, 50, 56, 53,
59, 47, 48, 47, 48, 48, 47, 47, 47, 46, 46, 54, 48, 49, 49, 52, 52, 50, 48, 52, 50, 52, 49, 49, 48, 49, 52, 49, 51, 49, 49, 48, 48, 48, 50, 42, 43, 41, 44, 38, 38, 44, 38, 38, 44, 38, 38, 43, 41, 43, 38, 39, 46, 39, 44, 40, 44, 39, 43, 39,
44, 39, 43, 41, 44, 39, 38, 45, 38, 44, 39, 38, 45, 38, 45, 39, 46, 38, 46, 39, 46, 48, 39, 44, 39, 44, 39, 48, 47, 49, 48, 47, 48, 33, 34, 37, 37, 37, 37, 36, 37, 36, 37, 42, 33, 36, 36, 45, 45, 40, 47, 47, 48, 44, 42, 46, 47, 40, 44, 37,
48, 39, 46, 49, 49, 46, 48, 49, 42, 42, 43, 33, 36, 35, 36, 36, 35, 36, 36, 41, 31, 33, 34, 36, 36, 36, 37, 35, 34, 33, 34, 42, 37, 36, 38, 47, 45, 40, 46, 48, 49, 48, 48, 49, 45, 40, 47, 39, 47, 43, 51, 48, 47, 44, 44, 45, 45, 43, 47, 42,
42, 41, 41, 44, 41, 41, 39, 40, 37, 39, 38, 40, 41, 42, 41, 41, 47, 38, 41, 41, 40, 40, 39, 39, 39, 39, 38, 39, 38, 39, 39, 37, 38, 38, 38, 38, 37, 38, 38, 38, 37, 37, 37, 36, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 44, 44, 39, 47,
48, 47, 48, 47, 48, 49, 48, 48, 48, 48, 48, 48, 48, 47, 48, 49, 48, 49, 55, 41, 47, 48, 47, 48, 47, 46, 48, 50, 48, 47, 46, 49, 45, 40, 47, 46, 50, 49, 48, 48, 49, 46, 49, 48, 48, 47, 46, 49, 46, 46, 41, 49, 48, 48, 47, 49, 47, 48, 47, 48,
49, 48, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 43, 40, 48, 49, 43, 40, 48, 48, 48, 48, 43, 40, 47, 49, 47, 47, 40, 47, 46, 50, 47, 46, 47, 42, 47, 48, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 48, 43, 41, 42, 41, 42,
41, 42, 41, 42, 42, 42, 42, 42, 42, 42, 41, 41, 42, 45, 45, 47, 48, 47, 48, 49, 48, 47, 49, 48, 48, 48, 47, 47, 47, 46, 37, 50, 49, 45, 39, 47, 44, 40, 46, 48, 46, 39, 45, 40, 47, 46, 48, 49, 47, 48, 49, 47, 48, 49, 48, 46, 48, 48, 47, 45,
41, 32, 33, 35, 41, 34, 38, 38, 36, 44, 33, 35, 36, 35, 33, 33, 33, 32, 35, 34, 34, 33, 32, 32, 32, 32, 31, 36, 37, 38, 39, 39, 39, 45, 35, 39, 45, 32, 41, 35, 35, 34, 35, 35, 34, 34, 35, 35, 37, 35, 34, 35, 35, 35, 41, 34, 35, 35, 41, 35,
35, 34, 35, 34, 35, 39, 39, 36, 35, 34, 35, 35, 41, 36, 39, 41, 31, 45, 33, 35, 34, 35, 35, 44, 38, 44, 38, 38, 44, 32, 35, 35, 34, 35, 34, 35, 34, 34, 34, 34, 43, 32, 40, 37, 34, 37, 35, 34, 35, 40, 39, 42, 38, 36, 35, 38, 45, 38, 43, 41,
36, 36, 36, 35, 36, 44, 40, 41, 42, 34, 39, 35, 36, 35, 35, 35, 35, 35, 36, 36, 36, 35, 41, 35, 39, 35, 46, 36, 34, 35, 36, 35, 35, 42, 39, 39, 39, 39, 45, 39, 47, 48, 48, 48, 38, 39, 39, 39, 37, 36, 46, 47, 48, 43, 33, 43, 45, 40, 37, 38,
45, 47, 47, 46, 39, 38, 37, 44, 47, 46, 38, 47, 39, 36, 42, 37, 38, 37, 38, 39, 38, 38, 38, 35, 35, 35, 34, 42, 34, 32, 32, 33, 36, 36, 47, 37, 48, 42, 54, 49, 49, 44, 44, 43, 44, 43, 42, 45, 42, 42, 45, 39, 44, 39, 37, 42, 41, 41, 42, 40,
44, 40, 43, 38, 45, 37, 37, 41, 42, 39, 44, 37, 36, 37, 43, 38, 38, 43, 41, 42, 44, 46, 39, 46, 48, 45, 41, 43, 50, 45, 41, 48, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 47, 45, 40, 47, 48, 48, 48, 49, 48, 48, 45, 46, 42, 55, 41, 47, 48, 49, 47, 41, 45, 47, 48, 47, 47, 49, 48, 48, 48, 48, 46, 48, 48, 47, 48, 48, 49, 32, 32, 42, 34, 33, 35, 36, 42, 33, 36, 36, 36, 37, 39, 49, 48, 48, 48,
43, 43, 43, 42, 53, 40, 42, 42, 42, 42, 44, 40, 41, 41, 41, 41, 36, 42, 42, 42, 43, 44, 40, 43, 34, 36, 38, 37, 36, 37, 40, 46, 37, 40, 44, 40, 43, 40, 40, 38, 37, 37, 37, 37, 37, 36, 43, 47, 46, 39, 45, 40, 44, 41, 39, 39, 39, 38, 38, 38,
44, 39, 37, 39, 39, 38, 40, 44, 42, 40, 40, 41, 39, 42, 43, 43, 42, 41, 42, 43, 40, 40, 40, 41, 41, 40, 39, 40, 38, 38, 47, 40, 46, 47, 39, 38, 40, 39, 40, 39, 39, 38, 39, 38, 39, 38, 41, 39, 40, 40, 46, 46, 41, 42, 42, 39, 44, 43, 40, 39,
39, 37, 36, 35, 37, 36, 38, 37, 37, 37, 37, 38, 37, 37, 37, 37, 38, 38, 46, 46, 39, 38, 43, 44, 41, 46, 41, 43, 42, 38, 41, 38, 40, 38, 38, 38, 37, 37, 45, 37, 38, 45, 37, 49, 38, 39, 53, 37, 38, 38, 39, 42, 38, 45, 38, 38, 38, 38, 37, 38,
38, 38, 43, 36, 37, 45, 35, 37, 38, 37, 47, 39, 45, 40, 40, 39, 39, 39, 39, 39, 39, 38, 39, 39, 39, 38, 39, 40, 39, 39, 40, 38, 38, 38, 39, 39, 38, 47, 46, 36, 36, 47, 37, 37, 37, 44, 45, 39, 39, 43, 38, 38, 46, 46, 40, 46, 45, 39, 46, 39,
47, 45, 34, 37, 38, 39, 39, 39, 38, 39, 39, 39, 39, 39, 42, 40, 49, 41, 43, 40, 40, 39, 40, 47, 41, 43, 45, 47, 41, 47, 42, 41, 39, 40, 39, 48, 39, 39, 39, 39, 40, 39, 39, 39, 40, 41, 40, 41, 41, 41, 49, 36, 48, 36, 48, 40, 47, 45, 40, 45,
48, 45, 40, 54, 45, 47, 41, 41, 40, 44, 43, 42, 48, 47, 51, 46, 42, 43, 45, 47, 50, 49, 50, 51, 50, 51, 53, 50, 51, 50, 51, 49, 50, 57, 52, 52, 52, 59, 52, 53, 53, 53, 53, 53, 53, 53, 57, 54, 54, 54, 54, 54, 50, 46, 42, 45, 40, 40, 39, 39,
39, 38, 39, 39, 39, 40, 48, 42, 45, 48, 49, 58, 56, 51, 47, 47, 48, 48, 43, 42, 47, 41, 42, 42, 41, 42, 43, 43, 42, 42, 42, 42, 41, 41, 43, 45, 45, 46, 48, 44, 45, 43, 41, 40, 38, 37, 37, 37, 38, 38, 37, 49, 39, 41, 41, 43, 42, 49, 42, 44,
44, 47, 45, 41, 45, 40, 45, 38, 38, 39, 38, 38, 47, 39, 45, 47, 39, 46, 40, 40, 49, 40, 46, 44, 51, 49, 49, 47, 57, 47, 48, 48, 47, 48, 47, 48, 49, 48, 49, 46, 46, 47, 47, 47, 46, 46, 47, 49, 56, 50, 49, 47, 47, 47, 46, 46, 46, 47, 46, 47,
48, 48, 50, 55, 49, 47, 41, 40, 41, 43, 42, 42, 41, 41, 40, 40, 39, 38, 39, 38, 38, 39, 39, 39, 39, 38, 38, 39, 39, 40, 39, 47, 39, 40, 39, 40, 39, 40, 40, 38, 38, 39, 38, 39, 38, 43, 48, 48, 46, 41, 48, 47, 50, 44, 51, 47, 48, 48, 49, 46,
43, 42, 42, 43, 45, 41, 38, 38, 37, 35, 46, 42, 43, 43, 48, 45, 49, 45, 45, 53, 47, 49, 46, 42, 41, 42, 41, 42, 40, 35, 35, 38, 38, 40, 41, 37, 35, 37, 35, 34, 34, 34, 36, 39, 38, 36, 34, 38, 31, 37, 35, 40, 31, 31, 32, 31, 32, 31, 32, 31,
31, 39, 29, 29, 29, 29, 29, 29, 30, 39, 36, 36, 36, 33, 39, 42, 38, 37, 38, 37, 39, 46, 39, 39, 39, 37, 39, 34, 34, 35, 35, 35, 35, 35, 41, 34, 36, 37, 34, 37, 36, 36, 36, 36, 36, 37, 35, 36, 35, 35, 38, 36, 35, 32, 33, 33, 36, 34, 34, 35,
32, 31, 31, 31, 42, 34, 36, 38, 38, 36, 46, 37, 36, 33, 32, 42, 32, 33, 32, 36, 36, 33, 32, 37, 29, 32, 33, 42, 32, 32, 33, 33, 33, 33, 43, 35, 32, 33, 33, 32, 33, 39, 38, 36, 33, 32, 33, 33, 32, 33, 41, 29, 33, 36, 31, 32, 41, 38, 37, 38,
33, 39, 35, 35, 36, 36, 36, 37, 33, 33, 32, 33, 36, 36, 32, 33, 42, 36, 36, 32, 39, 36, 34, 39, 36, 35, 36, 37, 31, 37, 32, 40, 38, 34, 37, 34, 33, 40, 31, 31, 31, 31, 31, 31, 32, 31, 31, 34, 34, 34, 35, 39, 37, 31, 34, 31, 31, 31, 34, 31,
31, 32, 31, 31, 31, 31, 31, 31, 42, 31, 40, 31, 31, 31, 31, 35, 34, 34, 38, 34, 30, 36,]
tests["Unvanquished 1920 x 1080, AMD A10-6800K"] = [31, 13, 16, 15, 15, 16, 16, 15, 15, 16, 16, 15, 15, 14, 15, 15, 15, 14, 15, 15, 15, 16, 15, 16, 16, 16, 16, 16, 16, 16, 17, 17, 16, 16, 16, 16, 16, 16, 16, 17, 19, 18, 17, 17, 17, 19, 18, 19, 19, 19, 19, 19, 19, 20, 19, 19, 19, 18, 18, 19,
19, 19, 19, 17, 17, 17, 19, 18, 19, 17, 15, 15, 14, 14, 14, 14, 14, 15, 15, 16, 15, 15, 15, 15, 16, 36, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 15, 14, 14, 14, 16, 16, 15, 16, 16, 15, 17, 16, 15, 16, 16, 15, 15, 15, 16, 16, 16, 15, 15, 16,
15, 14, 15, 15, 14, 14, 14, 14, 13, 13, 13, 13, 13, 14, 13, 13, 24, 13, 13, 13, 14, 13, 13, 13, 13, 13, 15, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 14, 14, 13, 13, 15, 16, 17, 17, 17,
20, 22, 19, 18, 19, 19, 19, 19, 21, 20, 19, 20, 17, 18, 17, 17, 18, 18, 19, 19, 18, 19, 19, 19, 18, 19, 18, 21, 22, 21, 23, 22, 21, 22, 22, 22, 22, 21, 22, 22, 21, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 22, 22, 22, 22, 21, 21, 21, 21,
21, 20, 20, 20, 20, 20, 20, 20, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 16, 15, 16, 15, 16, 16, 16, 22, 21, 21, 21, 21, 21, 21, 21, 22, 21, 21, 21, 21, 21, 20, 21, 21, 22, 21, 21, 20, 21, 22, 21, 21, 21, 21, 21,
22, 21, 21, 21, 21, 21, 22, 21, 22, 21, 22, 22, 21, 22, 21, 21, 22, 23, 22, 22, 23, 23, 24, 25, 23, 19, 18, 16, 16, 17, 17, 17, 17, 16, 19, 16, 17, 16, 16, 17, 19, 19, 17, 17, 18, 19, 17, 17, 17, 16, 17, 18, 20, 30, 31, 31, 34, 34, 37, 38,
41, 42, 38, 38, 35, 35, 34, 35, 35, 34, 35, 34, 34, 34, 34, 35, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 35, 34, 34, 20, 20, 20, 19, 20, 20, 20, 21, 20, 20, 20, 20, 20, 19, 20, 20, 19, 20, 19, 19, 20, 20, 20, 19, 19, 20,
21, 20, 19, 20, 19, 20, 20, 19, 21, 19, 20, 20, 19, 20, 20, 21, 21, 21, 21, 21, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 20, 20, 22, 22, 22, 22, 22, 22, 22, 23, 22, 22, 22, 22, 22, 22, 25, 26, 25, 25, 24, 24, 23, 23, 23, 23, 23, 23,
24, 24, 24, 25, 27, 24, 25, 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 20, 20, 20, 19, 20, 18, 18, 19, 18, 18, 18, 22, 23, 24, 23, 23, 23, 23, 23, 23, 23, 26, 27, 24, 26, 31, 24, 28, 24, 24, 23, 27, 24, 25, 25, 29, 23,
23, 23, 22, 22, 23, 22, 23, 23, 16, 24, 26, 27, 28, 26, 25, 28, 28, 28, 26, 25, 25, 25, 25, 25, 25, 24, 24, 23, 24, 23, 24, 23, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 22, 22, 22, 22,
23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 25, 25, 25, 24, 25, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 24, 24, 23, 24, 23, 26, 25, 26, 25, 25, 25, 25, 25, 25, 24, 25, 25, 25, 24, 24, 25, 25, 24, 26, 24, 24, 24, 24, 24,
26, 25, 24, 24, 23, 23, 23, 23, 23, 23, 22, 23, 23, 23, 22, 22, 22, 23, 22, 22, 22, 22, 22, 22, 22, 23, 23, 24, 25, 24, 25, 25, 24, 25, 25, 25, 25, 25, 25, 26, 26, 26, 27, 27, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 25, 25, 25, 27,
25, 27, 25, 25, 25, 26, 26, 26, 26, 25, 25, 25, 25, 25, 25, 24, 25, 25, 26, 26, 25, 25, 25, 26, 25, 25, 25, 25, 25, 26, 25, 26, 25, 23, 23, 23, 22, 24, 22, 22, 24, 24, 23, 24, 23, 24, 23, 24, 23, 23, 23, 23, 22, 23, 22, 22, 22, 23, 22, 22,
17, 17, 19, 19, 19, 19, 19, 19, 18, 18, 19, 21, 21, 18, 18, 18, 18, 18, 21, 20, 20, 18, 18, 18, 18, 16, 23, 17, 21, 22, 22, 22, 22, 22, 22, 21, 21, 20, 21, 21, 21, 20, 20, 21, 21, 21, 21, 21, 21, 20, 21, 21, 21, 21, 21, 21, 20, 21, 21, 20,
21, 20, 20, 21, 20, 21, 21, 21, 20, 20, 20, 20, 20, 21, 20, 20, 21, 20, 20, 21, 21, 21, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 19, 19, 19, 19, 19, 20, 19, 19, 20, 19, 20, 20, 19, 19, 20, 20, 20, 19, 20, 20, 21, 22, 21, 21, 22, 22, 21, 23,
22, 22, 21, 22, 22, 22, 21, 22, 22, 22, 21, 21, 21, 21, 20, 22, 22, 22, 22, 22, 22, 21, 23, 21, 22, 21, 21, 20, 20, 21, 23, 20, 20, 20, 20, 20, 21, 20, 22, 20, 20, 20, 20, 20, 21, 20, 19, 19, 17, 17, 17, 18, 18, 18, 19, 19, 18, 19, 19, 20,
20, 19, 19, 19, 20, 19, 19, 18, 18, 19, 19, 17, 17, 26, 24, 24, 24, 24, 25, 25, 24, 25, 25, 26, 19, 20, 19, 20, 17, 15, 16, 18, 16, 15, 17, 17, 24, 25, 27, 26, 29, 26, 28, 27, 26, 25, 25, 27, 26, 26, 26, 27, 24, 25, 25, 25, 25, 24, 24, 25,
25, 25, 25, 25, 25, 25, 24, 25, 25, 25, 25, 24, 24, 24, 24, 24, 25, 24, 25, 25, 22, 22, 22, 23, 23, 23, 23, 23, 22, 22, 23, 24, 23, 23, 22, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 22, 23, 22, 22, 24, 23, 22, 23, 23, 22, 22, 23, 24, 23,
24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22, 23, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 24, 24, 26, 27, 27, 27, 27, 27, 23, 22, 23, 23, 23, 23, 20, 16, 18, 18, 18, 18, 22, 21, 21, 21, 22, 22, 22, 22, 30, 29, 29, 30, 30,
30, 30, 28, 30, 29, 28, 28, 28, 28, 27, 27, 27, 27, 27, 27, 22, 22, 22, 22, 22, 21, 23, 22, 23, 21, 22, 22, 22, 22, 21, 22, 22, 24, 27, 27, 27, 26, 27, 26, 23, 24, 23, 23, 23, 24, 21, 26, 25, 25, 22, 25, 25, 25, 25, 25, 25, 24, 24, 24, 24,
29, 23, 23, 28, 23, 25, 25, 30, 25, 26, 25, 26, 25, 31, 25, 30, 26, 26, 30, 25, 25, 25, 26, 30, 26, 25, 24, 24, 23, 23, 24, 22, 26, 22, 26, 23, 26, 23, 27, 25, 28, 25, 27, 23, 26, 24, 28, 24, 27, 24, 28, 23, 26, 22, 26, 23, 27, 23, 27, 22,
22, 21, 21, 20, 23, 20, 24, 21, 21, 21, 21, 21, 21, 21, 21, 21, 24, 21, 22, 22, 22, 21, 22, 22, 25, 22, 25, 22, 25, 22, 26, 23, 26, 21, 21, 22, 22, 22, 23, 21, 21, 23, 22, 21, 22, 22, 22, 21, 22, 21, 21, 21, 21, 22, 21, 21, 21, 21, 20, 21,
22, 21, 20, 21, 21, 21, 20, 20, 22, 23, 24, 24, 24, 23, 24, 24, 23, 24, 23, 23, 23, 23, 24, 23, 22, 24, 24, 25, 23, 23, 25, 24, 24, 24, 24, 24, 22, 23, 23, 23, 22, 21, 21, 21, 21, 22, 22, 21, 22, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20,
19, 19, 20, 21, 22, 23, 22, 22, 23, 23, 23, 23, 23, 25, 22, 23, 23, 24, 24, 24, 23, 23, 25, 24, 24, 23, 22, 22, 26, 26, 24, 23, 22, 22, 22, 21, 21, 23, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 24, 25, 24, 24, 24, 25, 24, 24, 23, 23, 23, 23,
23, 23, 24, 29, 25, 25, 24, 25, 24, 30, 25, 25, 30, 26, 30, 26, 25, 30, 29, 34, 33, 33, 33, 35, 33, 35, 34, 34, 34, 34, 35, 34, 35, 32, 32, 31, 33, 33, 34, 34, 34, 33, 33, 33, 33, 34, 34, 35, 34, 34, 34, 34, 29, 27, 26, 25, 23, 23, 22, 23,
24, 22, 23, 23, 22, 24, 23, 29, 32, 33, 32, 33, 30, 28, 28, 29, 29, 28, 28, 27, 28, 27, 27, 26, 27, 28, 29, 28, 26, 28, 27, 27, 27, 27, 30, 30, 29, 29, 28, 29, 29, 29, 26, 24, 24, 23, 25, 24, 24, 25, 24, 26, 26, 28, 29, 29, 32, 29, 31, 30,
31, 29, 26, 28, 26, 27, 26, 27, 25, 27, 25, 26, 26, 27, 27, 27, 27, 27, 28, 28, 27, 28, 27, 27, 29, 35, 28, 28, 28, 29, 29, 29, 29, 29, 29, 28, 29, 29, 28, 28, 28, 28, 28, 28, 29, 28, 28, 27, 27, 27, 27, 28, 29, 28, 27, 27, 27, 28, 28, 28,
29, 31, 31, 27, 26, 27, 27, 27, 28, 29, 27, 27, 27, 26, 27, 24, 24, 24, 24, 23, 23, 25, 23, 24, 24, 24, 24, 28, 28, 27, 27, 25, 26, 27, 27, 26, 28, 27, 27, 27, 27, 26, 28, 27, 29, 28, 29, 27, 30, 29, 33, 32, 33, 31, 31, 28, 27, 27, 27, 28,
27, 29, 29, 29, 26, 28, 23, 23, 22, 20, 19, 27, 28, 31, 31, 31, 30, 31, 32, 30, 32, 32, 30, 28, 28, 27, 29, 28, 19, 19, 18, 18, 19, 18, 19, 18, 19, 19, 18, 18, 18, 18, 18, 18, 18, 15, 15, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
14, 14, 12, 13, 12, 13, 13, 13, 14, 14, 14, 14, 13, 14, 19, 22, 23, 22, 22, 22, 23, 23, 23, 23, 23, 22, 20, 19, 19, 18, 19, 20, 19, 19, 19, 20, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 16, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,]
tests["Unvanquished 1920 x 1080, Intel Core i7 4770K"] = [52, 53, 59, 64, 65, 60, 50, 50, 46, 44, 52, 52, 35, 41, 41, 46, 39, 45, 44, 50, 35, 39, 39, 39, 38, 39, 39, 39, 38, 39, 39, 48, 39, 44, 39, 38, 42, 43, 43, 47, 57, 31, 40, 42, 39, 39, 51, 44, 41, 48, 45, 43, 41, 41, 40, 41, 40, 43, 39, 41,
43, 44, 45, 41, 39, 39, 41, 39, 40, 40, 39, 37, 42, 37, 39, 40, 39, 36, 37, 43, 34, 38, 37, 38, 38, 41, 40, 36, 37, 36, 46, 36, 36, 41, 42, 35, 36, 35, 35, 36, 40, 34, 38, 37, 38, 38, 37, 38, 38, 38, 38, 37, 37, 37, 37, 38, 37, 36, 37, 36,
36, 35, 35, 38, 38, 35, 39, 41, 37, 37, 38, 33, 34, 34, 34, 34, 39, 34, 35, 34, 34, 34, 33, 34, 40, 32, 47, 32, 37, 36, 43, 32, 34, 34, 34, 34, 33, 34, 34, 34, 33, 33, 34, 40, 38, 37, 37, 33, 33, 34, 34, 34, 43, 37, 38, 34, 36, 53, 34, 39,
41, 41, 40, 41, 49, 45, 40, 47, 50, 45, 49, 46, 48, 44, 34, 43, 39, 40, 40, 40, 46, 46, 48, 49, 44, 40, 46, 46, 41, 48, 47, 47, 47, 49, 47, 42, 41, 48, 47, 47, 40, 42, 41, 48, 48, 48, 47, 49, 48, 48, 44, 51, 49, 48, 49, 54, 38, 47, 47, 41,
48, 46, 47, 49, 46, 47, 46, 40, 47, 48, 47, 47, 39, 47, 46, 37, 37, 37, 37, 42, 39, 37, 37, 37, 36, 36, 36, 35, 35, 37, 36, 44, 38, 49, 39, 46, 44, 40, 46, 49, 49, 48, 48, 45, 40, 45, 48, 44, 38, 40, 39, 39, 50, 40, 45, 49, 45, 41, 46, 46,
49, 46, 49, 46, 40, 45, 47, 51, 41, 44, 41, 41, 47, 47, 42, 41, 50, 48, 42, 42, 42, 52, 39, 47, 48, 56, 50, 49, 47, 47, 50, 47, 47, 47, 48, 48, 39, 47, 47, 48, 47, 49, 41, 44, 42, 53, 43, 42, 42, 50, 38, 42, 45, 47, 60, 50, 58, 61, 59, 57,
56, 57, 60, 58, 59, 60, 61, 60, 58, 60, 51, 57, 58, 51, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 60, 60, 59, 60, 59, 45, 41, 46, 47, 48, 39, 47, 47, 47, 46, 41, 46, 47, 47, 47, 40, 47, 47, 49, 47, 46, 47, 39, 46, 47,
40, 47, 46, 40, 47, 47, 47, 48, 49, 47, 47, 47, 40, 47, 49, 47, 48, 48, 47, 47, 49, 49, 49, 47, 49, 46, 50, 46, 60, 47, 50, 50, 47, 47, 48, 42, 41, 48, 48, 41, 44, 42, 41, 41, 42, 48, 38, 48, 48, 47, 43, 45, 44, 43, 43, 45, 43, 49, 48, 49,
47, 50, 48, 59, 51, 52, 44, 48, 47, 46, 49, 46, 48, 48, 48, 45, 38, 48, 46, 45, 39, 48, 46, 38, 45, 38, 45, 46, 39, 46, 36, 37, 38, 39, 41, 44, 44, 45, 44, 44, 45, 44, 55, 45, 51, 50, 48, 47, 50, 51, 49, 50, 50, 49, 51, 51, 51, 49, 53, 47,
57, 50, 49, 57, 45, 47, 44, 46, 42, 51, 41, 45, 46, 46, 45, 45, 56, 49, 49, 48, 47, 47, 47, 49, 47, 46, 49, 49, 46, 49, 48, 47, 49, 47, 48, 48, 48, 48, 48, 48, 47, 47, 48, 48, 46, 49, 47, 50, 47, 49, 47, 49, 47, 49, 47, 49, 47, 49, 47, 49,
47, 47, 50, 46, 49, 46, 50, 46, 49, 47, 49, 47, 49, 47, 49, 47, 48, 49, 49, 53, 52, 49, 50, 49, 57, 50, 54, 53, 50, 55, 49, 48, 48, 48, 48, 48, 49, 49, 55, 51, 57, 52, 57, 49, 50, 53, 52, 49, 50, 53, 52, 50, 56, 47, 45, 48, 47, 46, 46, 47,
46, 46, 46, 46, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 43, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 45, 46, 46, 46, 46, 46, 47, 47, 46, 47, 47, 47, 47, 47, 47, 46, 46, 47, 47, 47, 47, 46, 46, 46, 46, 47,
46, 49, 53, 52, 49, 49, 54, 52, 49, 52, 51, 50, 49, 53, 53, 49, 49, 53, 52, 48, 49, 49, 53, 52, 50, 49, 53, 52, 48, 49, 49, 53, 51, 50, 48, 47, 47, 48, 48, 48, 49, 49, 47, 49, 47, 48, 48, 48, 58, 50, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 38, 37, 39, 39, 38, 46, 39, 40, 39, 38, 48, 46, 49, 48, 48, 42, 42, 38, 39, 39, 38, 37, 36, 38, 36, 46, 47, 42, 46, 44, 44, 53, 48, 40, 40, 40, 48, 40, 45, 40, 39, 39, 39, 39, 39, 39, 38, 39, 39, 39, 46, 39, 39, 39, 39, 39, 40, 39, 39,
39, 46, 44, 41, 47, 39, 39, 39, 39, 39, 40, 39, 39, 40, 39, 39, 39, 39, 39, 39, 40, 39, 40, 39, 39, 39, 39, 40, 39, 39, 40, 38, 39, 38, 39, 39, 39, 39, 39, 39, 44, 44, 39, 47, 47, 38, 45, 49, 38, 45, 44, 37, 39, 48, 41, 39, 40, 40, 39, 40,
48, 46, 48, 48, 50, 46, 49, 40, 44, 40, 44, 47, 49, 48, 48, 45, 40, 40, 44, 40, 40, 40, 46, 40, 40, 40, 40, 40, 39, 40, 40, 40, 40, 44, 44, 44, 56, 47, 48, 44, 44, 44, 50, 44, 44, 44, 44, 44, 43, 42, 42, 41, 42, 48, 48, 42, 51, 40, 42, 43,
43, 43, 43, 49, 46, 49, 42, 52, 49, 48, 48, 48, 47, 45, 46, 45, 43, 42, 48, 45, 43, 44, 43, 43, 51, 48, 45, 40, 52, 43, 45, 38, 48, 41, 45, 46, 51, 55, 45, 49, 56, 59, 49, 50, 58, 49, 56, 46, 48, 48, 48, 49, 48, 47, 49, 47, 48, 47, 39, 47,
47, 46, 40, 47, 47, 47, 40, 47, 46, 49, 47, 48, 48, 46, 40, 46, 47, 45, 42, 46, 50, 48, 48, 49, 49, 46, 49, 46, 49, 49, 47, 49, 47, 49, 46, 49, 50, 46, 49, 46, 50, 46, 49, 49, 57, 49, 49, 46, 49, 47, 49, 46, 49, 46, 50, 46, 49, 49, 47, 49,
46, 50, 46, 48, 50, 49, 46, 49, 46, 50, 49, 46, 46, 50, 47, 48, 48, 51, 48, 53, 50, 51, 49, 49, 53, 52, 50, 49, 53, 52, 50, 55, 51, 50, 54, 51, 46, 49, 49, 46, 49, 47, 37, 45, 37, 43, 41, 39, 44, 39, 40, 40, 48, 47, 49, 45, 49, 47, 48, 48,
48, 49, 47, 48, 50, 48, 48, 48, 53, 56, 44, 54, 46, 46, 45, 46, 44, 41, 55, 47, 48, 48, 49, 47, 47, 40, 45, 41, 42, 41, 41, 46, 42, 47, 49, 48, 49, 48, 48, 47, 48, 41, 42, 42, 41, 47, 47, 50, 46, 48, 57, 42, 44, 44, 45, 47, 45, 43, 43, 43,
45, 45, 42, 45, 45, 43, 51, 47, 50, 48, 45, 45, 45, 49, 47, 47, 49, 46, 48, 49, 52, 50, 43, 47, 47, 47, 45, 44, 44, 43, 44, 42, 44, 42, 49, 42, 44, 44, 50, 46, 44, 44, 44, 50, 42, 43, 46, 44, 52, 46, 44, 43, 44, 49, 43, 51, 51, 44, 45, 50,
43, 41, 40, 43, 50, 46, 51, 44, 49, 43, 41, 48, 42, 42, 42, 41, 51, 42, 44, 45, 42, 43, 45, 43, 45, 42, 50, 45, 51, 42, 45, 43, 47, 48, 48, 48, 48, 47, 47, 49, 48, 48, 48, 43, 43, 44, 43, 52, 48, 50, 44, 43, 44, 43, 43, 43, 43, 45, 44, 51,
48, 49, 56, 40, 42, 42, 48, 42, 43, 42, 43, 44, 44, 44, 45, 44, 44, 44, 43, 43, 44, 44, 44, 44, 43, 44, 43, 44, 44, 45, 44, 44, 43, 43, 44, 43, 43, 43, 43, 42, 42, 42, 41, 42, 42, 42, 42, 43, 42, 42, 42, 43, 43, 43, 44, 42, 42, 43, 42, 42,
43, 42, 42, 42, 43, 44, 44, 44, 43, 45, 44, 44, 45, 44, 47, 45, 46, 46, 45, 45, 46, 44, 44, 46, 50, 49, 44, 44, 46, 49, 49, 46, 45, 54, 49, 50, 48, 47, 48, 48, 48, 45, 45, 45, 56, 46, 46, 46, 46, 55, 47, 49, 49, 56, 43, 53, 49, 48, 49, 45,
49, 49, 47, 53, 56, 48, 49, 49, 55, 54, 57, 50, 58, 48, 60, 55, 53, 57, 53, 57, 60, 55, 55, 63, 56, 57, 57, 56, 56, 64, 61, 58, 61, 56, 59, 64, 58, 59, 63, 69, 61, 63, 69, 61, 59, 62, 70, 68, 64, 68, 64, 69, 59, 57, 49, 50, 49, 47, 48, 47,
48, 50, 43, 44, 44, 45, 44, 46, 52, 54, 55, 54, 54, 53, 50, 47, 47, 48, 47, 48, 45, 46, 47, 47, 46, 47, 47, 49, 47, 47, 47, 48, 45, 48, 47, 50, 50, 49, 50, 49, 50, 48, 47, 44, 43, 42, 41, 43, 43, 43, 42, 43, 44, 46, 46, 48, 48, 49, 48, 51,
48, 49, 43, 45, 43, 44, 44, 43, 43, 43, 43, 46, 46, 44, 45, 44, 44, 44, 45, 44, 45, 51, 50, 50, 51, 51, 52, 53, 53, 62, 54, 55, 57, 61, 54, 55, 55, 54, 54, 54, 52, 53, 52, 52, 52, 53, 52, 53, 52, 52, 53, 53, 53, 53, 53, 52, 52, 52, 52, 54,
54, 55, 55, 51, 47, 46, 45, 46, 46, 48, 47, 47, 46, 47, 46, 45, 44, 44, 43, 44, 44, 44, 45, 43, 43, 43, 43, 43, 44, 46, 45, 44, 55, 45, 45, 45, 44, 51, 48, 47, 50, 46, 49, 47, 42, 45, 47, 46, 48, 46, 60, 51, 60, 50, 51, 51, 48, 48, 52, 59,
51, 58, 56, 53, 55, 52, 45, 43, 42, 47, 46, 50, 50, 58, 58, 52, 59, 58, 52, 57, 57, 51, 58, 50, 58, 49, 48, 57, 46, 49, 46, 48, 47, 48, 39, 46, 48, 48, 48, 48, 48, 48, 48, 38, 45, 47, 39, 44, 40, 44, 43, 41, 44, 40, 35, 45, 39, 44, 34, 35,
42, 38, 39, 33, 35, 36, 36, 33, 34, 33, 34, 35, 35, 35, 39, 45, 43, 43, 42, 45, 46, 48, 48, 49, 43, 43, 42, 39, 40, 39, 40, 46, 46, 40, 45, 47, 39, 45, 38, 38, 39, 42, 44, 37, 47, 38, 47, 46, 38, 37, 47, 47, 39, 46, 47, 37, 47, 47, 38, 47,
47, 47, 34, 37, 38, 37, 38, 37, 44, 39, 46, 47, 47, 38, 47, 48, 38, 47, 37, 47, 47, 36, 37, 37, 43, 33, 38, 37, 37, 37, 47, 37, 46, 36, 45, 41, 38, 37, 37, 38, 37, 37, 37, 37, 38, 37, 37, 38, 37, 38, 37, 37, 37, 37, 38, 37, 37, 38, 37, 38,
37, 38, 37, 38, 37, 37, 37, 37, 38, 37, 37, 37, 37, 38, 37, 38, 37, 37, 37, 37, 38, 37, 37, 37, 37, 37, 38, 37, 37, 36, 36, 36, 36, 36, 36, 36, 35, 36, 36, 36, 36, 36, 36, 35, 36, 36, 36, 36, 36, 36, 35, 36, 36, 36, 36, 36, 36, 35, 35, 36,
36, 36, 36, 36, 35, 37, 35, 36, 36, 36, 36, 35, 36, 36, 36, 35, 35, 36, 36, 36, 41, 36,]
for t in tests:
for i, it in enumerate(tests[t]):
tests[t][i] = it * 1e-3 # to seconds
#print (t)
#print ([percentile(tests[t], i * 1e-2) for i in range(100 + 1)])
for m in methods:
print ('Testing method "%s":' % m)
for t in tests:
print ('\t%.3f\t"%s"' % (methods[m](tests[t]) / 1e-3, t))
print ("")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment