Skip to content

Instantly share code, notes, and snippets.

@superbobry
Created September 23, 2015 14:10
Show Gist options
  • Star 11 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save superbobry/db16053267b778069c9e to your computer and use it in GitHub Desktop.
Save superbobry/db16053267b778069c9e to your computer and use it in GitHub Desktop.
Вспомогательный модуль для курса "Алгоритмы: теория и практика. Методы"
import time
from matplotlib import pyplot as plt
def timed(f, args, *, n_iter=100):
acc = float("inf")
for i in range(n_iter):
t0 = time.perf_counter()
f(*args)
acc = min(acc, time.perf_counter() - t0)
return acc
def compare(fs, args):
xs = list(range(len(args)))
for f in fs:
plt.plot(xs, [timed(f, chunk) for chunk in args],
label=f.__name__)
plt.legend()
plt.grid(True)
@zela
Copy link

zela commented Dec 6, 2015

args, * в объявлении аргументов похоже на опечатку, да и не работает. Видимо, это нужно исправить на *args

@zela
Copy link

zela commented Dec 8, 2015

Ещё здорово бы в конце функции compare написать plt.show()

@dmfed
Copy link

dmfed commented Mar 2, 2020

Ещё здорово бы в конце функции compare написать plt.show()

Работает и без него в Jupyter, например. А вот насчет аргументов выше верный комментарий :)

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