Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
30
third-party/vendor/tinyvec/compare_benchmarks.py
vendored
Normal file
30
third-party/vendor/tinyvec/compare_benchmarks.py
vendored
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
import os
|
||||
import os.path
|
||||
import json
|
||||
|
||||
comparisons = []
|
||||
|
||||
for (root, _dirs, files) in os.walk('target/criterion'):
|
||||
for file in files:
|
||||
if file == 'estimates.json' and root.endswith(
|
||||
'new') and 'TinyVec' in root:
|
||||
path = os.path.join(root, file)
|
||||
|
||||
bench_name = path.split('/')[3]
|
||||
tinyvec_time = json.load(open(path))['mean']['point_estimate']
|
||||
|
||||
path = path.replace('TinyVec', 'SmallVec')
|
||||
|
||||
smallvec_time = json.load(open(path))['mean']['point_estimate']
|
||||
|
||||
comparisons.append((bench_name, tinyvec_time / smallvec_time))
|
||||
|
||||
comparisons.sort(key=lambda x: x[1])
|
||||
longest_name = max(len(c[0]) for c in comparisons)
|
||||
for (name, ratio) in comparisons:
|
||||
# Undo the criterion name mangling
|
||||
name = name.replace('_[', '<[')
|
||||
name = name.replace(']___', ']>::')
|
||||
|
||||
name = name.ljust(longest_name)
|
||||
print(f"{name} {ratio:.2f}")
|
||||
Loading…
Add table
Add a link
Reference in a new issue