The fc_bench package ...
Project description
The fc_bench Python package allows to benchmark functions and much more
Introduction:
More documentation is available on fc_bench Python package dedicated web page with an User’s Guide (pdf).
This package was tested under:
- CentOS 7, Fedora 27
with Python 2.7.14 compiled from source (www.python.org)
with Python 3.5.5 compiled from source (www.python.org)
with Python 3.6.4 compiled from source (www.python.org)
- MacOS High Sierra
with Miniconda Python 2.7 distribution (release 2.7.14)
with Miniconda Python 3.6 distribution (release 3.6.4)
with Python 2.7.14 (www.python.org)
with Python 3.5.4 (www.python.org)
with Python 3.6.5 (www.python.org)
- openSUSE Leap 42.3 7
with Python 2.7.14 compiled from source (www.python.org)
with Python 3.4.8 compiled from source (www.python.org)
with Python 3.5.5 compiled from source (www.python.org)
with Python 3.6.5 compiled from source (www.python.org)
- Ubuntu 18.04 LTS, 17.10, 16.04 LTS
with Python 2.7.x (x=13,14,15) compiled from source (www.python.org)
with Python 3.6.x (x=3,4,5) compiled from source (www.python.org)
with Python 3.5.5 compiled from source (www.python.org)
- Windows 10
with Miniconda Python 2.7 distribution (release 2.7.14)
with Miniconda Python 3.6 distribution (release 3.6.4)
with Python 2.7.15 (www.python.org)
with Python 3.5.4 (www.python.org)
with Python 3.6.5 (www.python.org)
Installation:
The fc_bench Python package is available from the Python Package Index, so to install/upgrade simply type
pip install fc_bench -U
Testing :
There are demos functions in the fc_bench.demos module named bench_*. For example, run the following code under Python:
from fc_bench import demos demos.bench_Lagrange()
The output of this code is:
#--------------------------------------------------------------------------- # Benchmarking functions: # fun[0], Lag: fc_bench.demos.Lagrange # fun[1], lagint: fc_bench.demos.lagint # cmpErr[i], error between fun[0] and fun[i] outputs computed with function # lambda o1,o2: np.linalg.norm(o1-o2,np.inf) # where # - 1st input parameter is the output of fun[0] # - 2nd input parameter is the output of fun[i] #--------------------------------------------------------------------------- # Setting inputs of Lagrange polynomial functions: y=LAGRANGE(X,Y,x) # where X is numpy.linspace(a,b,n+1), Y=fun(X) and x is random values on [a,b] # n is the order of the Lagrange polynomial # fun function is: lambda x: np.sin(x) # [a,b]=[-1,1] # X: (n+1,) numpy array # Y: (n+1,) numpy array # x: (m,) numpy array # Error[i] computed with fun[i] output: # lambda y: np.linalg.norm(y-fun(x),np.inf) #--------------------------------------------------------------------------- #date:2018/05/03 10:16:55 #nbruns:5 #numpy: i4 i4 f4 f4 f4 f4 f4 #format: {:>5} {:>5} {:8.3f} {:10.3e} {:11.3f} {:10.3e} {:11.3e} #labels: m n Lag(s) Error[0] lagint(s) Error[1] cmpErr[1] 100 5 0.012 1.163e-05 0.014 1.163e-05 3.331e-16 100 9 0.020 2.859e-10 0.023 2.859e-10 8.882e-16 100 15 0.036 2.143e-14 0.038 2.143e-14 2.565e-14 500 5 0.056 1.162e-05 0.071 1.162e-05 5.551e-16 500 9 0.102 2.901e-10 0.118 2.901e-10 1.443e-15 500 15 0.178 2.232e-14 0.188 2.232e-14 2.287e-14 1000 5 0.111 1.163e-05 0.146 1.163e-05 5.551e-16 1000 9 0.202 2.902e-10 0.235 2.902e-10 1.554e-15 1000 15 0.361 2.576e-14 0.377 2.576e-14 2.620e-14
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.