Skip to content

Instantly share code, notes, and snippets.

@remh
Created September 2, 2013 14:45
Show Gist options
  • Select an option

  • Save remh/6413640 to your computer and use it in GitHub Desktop.

Select an option

Save remh/6413640 to your computer and use it in GitHub Desktop.
import numpy as np
import timeit
metric_series_count = 3
test_data = [2.10723804e+03,1.26780400e+04, 1.47227500e+04, 1.62780752e+04, 1.71822812e+04 , 1.64260996e+04 , 2.72706328e+04 , 1.57876689e+04, 1.47809004e+04 , 1.43575615e+04 , 1.55860273e+04 , 1.55252500e+04, 1.70042930e+04 , 1.54317500e+04 , 2.22643242e+04 , 1.54446250e+04, 1.45285752e+04 , 1.52491279e+04 , 1.42818574e+04 , 1.85883770e+04, 1.90738242e+04 , 2.76426113e+04 , 1.51628740e+04 , 1.66276758e+04, 2.91944414e+04 , 1.79294004e+04 , 1.85493008e+04 , 5.05975156e+04, 5.97016328e+04 , 1.36698350e+04 , 1.75005508e+04 , 1.48950996e+04, 2.98080750e+05 , 1.28499795e+04 , 2.33493750e+04 , 1.87940508e+04, 3.70170000e+04 , 1.99230508e+04 , 1.57387549e+04 , 1.64653398e+04, 1.52441250e+04 , 1.71265371e+04 , 1.45260479e+04 , 2.36466992e+04, 1.49441504e+04 , 1.56413750e+04 , 1.53727500e+04 , 1.65995508e+04, 2.31307363e+04 , 3.10398047e+04 , 2.02409023e+04 , 2.81140957e+04, 2.01719004e+04 , 1.79341504e+04 , 1.94490742e+04 , 1.84646230e+04, 2.68916992e+04 , 1.58801221e+04 , 1.92853906e+05 , 1.24943656e+05, 5.59167500e+04 , 4.97305508e+04 , 4.63533086e+04 , 4.88107266e+04, 4.58746836e+04 , 4.67675117e+04 , 5.54424492e+04 , 5.18530977e+04, 4.12353281e+04 , 4.48636016e+04 , 4.36200273e+04 , 4.78300508e+04, 5.98861484e+04 , 5.65999492e+04 , 5.18126992e+04 , 5.12607188e+04, 5.10735273e+04 , 4.48206250e+04 , 2.13880047e+05 , 8.43175078e+04, 7.89681016e+04 , 8.58591797e+04 , 7.91386094e+04 , 6.74334219e+04, 8.73430000e+04 , 8.30917734e+04 , 6.77104375e+04 , 8.08490469e+04, 8.75585469e+04 , 7.33623516e+04 , 8.43328594e+04 , 9.49262422e+04, 8.92074688e+04 , 7.61907734e+04 , 7.35939062e+04 , 4.94489492e+04, 5.20644414e+04 , 1.40493766e+05 , 7.47076719e+04 , 5.91278008e+04, 7.13965625e+04 , 7.43846484e+04 , 6.03837266e+04 , 7.46186250e+04, 8.40347812e+04 , 6.32518242e+04 , 6.82605156e+04 , 6.76610781e+04, 5.40575352e+04 , 6.80397734e+04 , 6.89431016e+04 , 5.52928984e+04, 6.96947109e+04 , 7.27605781e+04 , 5.70301016e+04 , 6.97338359e+04, 1.91428566e+01 , 8.03999996e+00 , 5.57499981e+00 , 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00 , 0.00000000e+00 , 2.28205132e+00, 0.00000000e+00 , 0.00000000e+00 , 0.00000000e+00 , 1.67500000e+01, 6.53658581e+00 , 0.00000000e+00 , 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00 , 2.11904740e+00 , 0.00000000e+00, 2.01250000e+01 , 9.80487919e+00 , 1.03076925e+01 , 1.97850006e+02, 1.54682938e+02 , 8.97500038e+00 , 6.75000000e+00 , 1.31707325e+01, 6.58536625e+00 , 1.12500000e+01 , 2.15499992e+01 , 6.75000000e+00, 2.95121937e+01 , 1.27959194e+01 , 1.35000000e+01 , 6.75000000e+00, 3.26341515e+01 , 3.42000008e+01 , 1.33170738e+01 , 0.00000000e+00, 0.00000000e+00 , 2.28205132e+00 , 1.30731697e+01 , 6.69999981e+00, 3.34999990e+00 , 0.00000000e+00 , 0.00000000e+00 , 0.00000000e+00, 2.11904740e+00 , 0.00000000e+00 , 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00 , 2.01000004e+01 , 3.26829290e+00 , 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00]
def using_magic():
return zip(*([iter(test_data)]*(len(test_data) / metric_series_count)))
def using_numpy():
return np.reshape(test_data, (metric_series_count, -1))
if __name__=='__main__':
print "Checking that result is the same"
print using_magic() == using_numpy()
print "Starting benchmark"
print "Magic took: {0}s".format(timeit.timeit("using_magic()", setup="from __main__ import using_magic"))
print "Numpy took: {0}s".format(timeit.timeit("using_numpy()", setup="from __main__ import using_numpy"))
@remh
Copy link
Author

remh commented Sep 2, 2013

Output:

(python)remi@Remis-MacBook-Air:~/Documents$ python bench.py
[[ True  True  True  True  True  True  True  True  True  True  True  True
   True  True  True  True  True  True  True  True  True  True  True  True
   True  True  True  True  True  True  True  True  True  True  True  True
   True  True  True  True  True  True  True  True  True  True  True  True
   True  True  True  True  True  True  True  True  True  True]
 [ True  True  True  True  True  True  True  True  True  True  True  True
   True  True  True  True  True  True  True  True  True  True  True  True
   True  True  True  True  True  True  True  True  True  True  True  True
   True  True  True  True  True  True  True  True  True  True  True  True
   True  True  True  True  True  True  True  True  True  True]
 [ True  True  True  True  True  True  True  True  True  True  True  True
   True  True  True  True  True  True  True  True  True  True  True  True
   True  True  True  True  True  True  True  True  True  True  True  True
   True  True  True  True  True  True  True  True  True  True  True  True
   True  True  True  True  True  True  True  True  True  True]]
Magic took: 21.5849730968s
Numpy took: 122.173834085s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment