Exemplo n.º 1
0
import std
import statistics as stat

check_num = [1, 2, 4, 7]

test1 = std.standard_dev(check_num)
test2 = stat.stdev(check_num)

print(f"Stats std num {test1}")
print(f"C --- std num {test2}")

import sumC
sumC.uni_reg([1, 2, 3, 4], [1, 2, 3])
sumC.uni_reg([1, 2, 3, 4], [1, 2, 3, 4])
sumC.uni_reg([1, 2, 3, 4], [1, 2, 3, 4], eta=10, epochs=100)
sumC.uni_reg([1, 2, 3, 4], [1, 2, 3, 4], eta=-1, epochs=100)
sumC.uni_reg([1, 2, 3, 4], [1, 2, 3, 4], eta=0.05, epochs=1000)
Exemplo n.º 2
0
    lens = range(10, 300, 10)
    py_time = []
    np_time = []
    c_time = []

    for l in lens:
        rands = [random.random() for _ in range(0, l)]
        numpy_rands = np.array(rands)
        py_time = np.append(
            py_time,
            timeit.timeit(lambda: standard_deviation(rands), number=10000))
        np_time = np.append(
            np_time, timeit.timeit(lambda: np.std(numpy_rands), number=10000))
        c_time = np.append(
            c_time, timeit.timeit(lambda: std.standard_dev(rands),
                                  number=10000))
    data = np.array(
        [np.transpose(py_time),
         np.transpose(np_time),
         np.transpose(c_time)])

    df = pd.DataFrame(data.transpose(),
                      index=lens,
                      columns=['Python', 'Numpy', 'C++'])
    plt.figure()
    df.plot()
    plt.legend(loc='best')
    plt.ylabel('Time (Seconds)')
    plt.xlabel('Number of Elements')
    plt.title('10k Runs of Standard Deviation')
Exemplo n.º 3
0
import std
import stdcy
import stdcyc
import stdcyt
import stdpy
import numpy as np

import random

random.seed(100)
rands = [random.random() for _ in range(0, 5)]
cyc_rands = stdcyc.pystd(rands)
cyt_rands = stdcyt.pystd(rands)

print('std: ', std.standard_dev(rands))
print('stdcy: ', stdcy.standard_dev(rands))
print('stdcyc: ', cyc_rands.standard_dev())
print('stdcyt: ', cyt_rands.standard_dev())
print('stdpy: ', stdpy.standard_dev(rands))
print('numpy: ', np.std(rands))
Exemplo n.º 4
0
    cy_time = []
    cyc_time = []
    pybind_time = []

    for l in lens:
        rands = [random.random() for _ in range(0, l)]

        numpy_rands = np.array(
            rands)  # If you don't do this, It will convert every time
        # and there will be a some performance issues.
        cyc_rands = stdcyc.pystd(rands)

        np_time = np.append(
            np_time, timeit.timeit(lambda: np.std(numpy_rands), number=100))
        c_time = np.append(
            c_time, timeit.timeit(lambda: std.standard_dev(rands), number=100))
        cy_time = np.append(
            cy_time,
            timeit.timeit(lambda: stdcy.standard_dev(rands), number=100))
        cyc_time = np.append(
            cyc_time,
            timeit.timeit(lambda: cyc_rands.standard_dev(), number=100))
        pybind_time = np.append(
            pybind_time,
            timeit.timeit(lambda: stdpy.standard_dev(rands), number=100))

        if include_pure_py:
            py_time = np.append(
                py_time,
                timeit.timeit(lambda: standard_deviation(rands), number=100))
Exemplo n.º 5
0
import random
import timeit
import math
import sys
import std

if __name__ == '__main__':

    lens = range(10, 300, 10)
    c_time = []

    for l in lens:
        rands = [random.random() for _ in range(0, l)]
        execution_time = timeit.timeit(lambda: std.standard_dev(rands), number=10000)
        c_time.append(execution_time)
        print("array_size: %3d, execution_time:%f" % (l, execution_time))

    with open("data/time_per_array_size_c.dat", "w") as f:
        for i in range(len(c_time)):
            f.write("%d %f\n" % (lens[i], c_time[i]))