Skip to content

Instantly share code, notes, and snippets.

@ajfriend
Created March 22, 2020 20:50
Show Gist options
  • Save ajfriend/d8fda9c3d88f8fbc3bd679d5dd0d9cde to your computer and use it in GitHub Desktop.
Save ajfriend/d8fda9c3d88f8fbc3bd679d5dd0d9cde to your computer and use it in GitHub Desktop.
H3 kRing timing benchmarks
s_new_1 = """
-- kRing10: 13.645000 microseconds per iteration (10000 iterations)
-- kRing20: 50.505400 microseconds per iteration (10000 iterations)
-- kRing30: 110.635500 microseconds per iteration (10000 iterations)
-- kRing40: 193.416000 microseconds per iteration (10000 iterations)
-- kRing100: 1171.804000 microseconds per iteration (1000 iterations)
-- kRing400: 17707.125000 microseconds per iteration (1000 iterations)
-- kRingPentagon10: 384.726000 microseconds per iteration (500 iterations)
-- kRingPentagon20: 3135.216000 microseconds per iteration (500 iterations)
-- kRingPentagon30: 10355.700000 microseconds per iteration (50 iterations)
-- kRingPentagon40: 24226.800000 microseconds per iteration (10 iterations)
"""
s_new_2 = """
-- kRing10: 13.803000 microseconds per iteration (10000 iterations)
-- kRing20: 50.641600 microseconds per iteration (10000 iterations)
-- kRing30: 111.318300 microseconds per iteration (10000 iterations)
-- kRing40: 197.787700 microseconds per iteration (10000 iterations)
-- kRing100: 1189.344000 microseconds per iteration (1000 iterations)
-- kRing400: 17832.771000 microseconds per iteration (1000 iterations)
-- kRingPentagon10: 385.542000 microseconds per iteration (500 iterations)
-- kRingPentagon20: 3147.908000 microseconds per iteration (500 iterations)
-- kRingPentagon30: 10330.540000 microseconds per iteration (50 iterations)
-- kRingPentagon40: 24604.000000 microseconds per iteration (10 iterations)
"""
s_old_1 = """
-- kRing10: 13.778200 microseconds per iteration (10000 iterations)
-- kRing20: 50.593000 microseconds per iteration (10000 iterations)
-- kRing30: 112.481900 microseconds per iteration (10000 iterations)
-- kRing40: 195.406500 microseconds per iteration (10000 iterations)
-- kRing100: 1178.592000 microseconds per iteration (1000 iterations)
-- kRing400: 17910.442000 microseconds per iteration (1000 iterations)
-- kRingPentagon10: 393.074000 microseconds per iteration (500 iterations)
-- kRingPentagon20: 3126.298000 microseconds per iteration (500 iterations)
-- kRingPentagon30: 10493.840000 microseconds per iteration (50 iterations)
-- kRingPentagon40: 24282.600000 microseconds per iteration (10 iterations)
"""
s_old_2 = """
-- kRing10: 14.009800 microseconds per iteration (10000 iterations)
-- kRing20: 52.824500 microseconds per iteration (10000 iterations)
-- kRing30: 113.305600 microseconds per iteration (10000 iterations)
-- kRing40: 195.026300 microseconds per iteration (10000 iterations)
-- kRing100: 1182.589000 microseconds per iteration (1000 iterations)
-- kRing400: 18003.061000 microseconds per iteration (1000 iterations)
-- kRingPentagon10: 385.984000 microseconds per iteration (500 iterations)
-- kRingPentagon20: 3148.516000 microseconds per iteration (500 iterations)
-- kRingPentagon30: 10419.480000 microseconds per iteration (50 iterations)
-- kRingPentagon40: 24895.700000 microseconds per iteration (10 iterations)
"""
import pandas as pd
def foo(s):
g = s.split('\n')
g = (x.strip(' -') for x in g)
g = (x for x in g if len(x)>0)
g = (x.split()[:2] for x in g)
out = {k[:-1]: float(v) for k,v in g}
s = pd.Series(out)
return s
def change(s_old, s_new):
d = {
'old': foo(s_old),
'new': foo(s_new),
}
df = pd.DataFrame(d)
df['% change'] = ((df['new']/df['old'] - 1)*100).round(2)
return df
print(change(s_old_1, s_new_1).to_markdown())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment