In [33]:
%autosave 2
import numpy as np
# import timeit
# import profile
from time import sleep
import numba
In [5]:
%timeit 3+4
In [8]:
%timeit sleep(1)
In [9]:
%%timeit
a = np.random.uniform(0,1,size=(10,10))
np.sum(a)
In [13]:
n = int(1e5)
a = np.random.rand(n)
t = tuple(a)
def my_sum(t):
s = 0
for x in t:
s += x
return s
%timeit my_sum(t)
%timeit sum(t)
%timeit sum(a)
%timeit np.sum(a)
In [25]:
import base64
from functools import reduce
n = int(1e4)
lines = [base64.b64encode(np.random.bytes(16)) for _ in range(n)]
# 'abc' + 'def'
def lines_cont(lines):
cont = b''
for line in lines:
cont += line + b'\n'
return cont
%timeit lines_cont(lines)
%timeit reduce(lambda x,y: x+b'\n'+y, lines)
%timeit b'\n'.join(lines)
In [37]:
def golden_ratio(n):
s = 1
for _ in range(n):
s = 1 + 1/s
return s
@numba.jit(locals={'n': numba.int32, 's': numba.float32})
def numba_golden_ratio(n):
s = 1
for _ in range(n):
s = 1 + 1/s
return s
n = int(1e5)
%timeit golden_ratio(n)
%timeit numba_golden_ratio(n)
In [ ]: