Skip to main content

Zig for Numpy

Project description

Some Zig functions for Numpy

Tested against Windows 10 / Python 3.11 / Anaconda / C++ 20 - MSVC

pip install npzigloc

Cython and a C++ compiler must be installed!

from npzigloc import *
import numpy as np
import timeit

array_shape = (256, 256, 256)
flatindex = npzigwhere.flatten_np_index(
    array_shape,
    no_gil=True,
    transpose=False,
    npfunction=b"flatten_index",
    flip_array=True,
)
print(flatindex)
# %timeit flatindex=npzigwhere.flatten_np_index(array_shape, no_gil=True,transpose=False, npfunction=b'flatten_index',flip_array=True )
flatindex = npzigwhere.flatten_np_index(
    array_shape,
    no_gil=True,
    transpose=False,
    npfunction=b"flatten_index",
    flip_array=False,
)
# %timeit flatindex=npzigwhere.flatten_np_index(array_shape, no_gil=True,transpose=False, npfunction=b'flatten_index',flip_array=False, )

rng = np.random.default_rng()

c = (
    np.random.randint(-127, 127, np.prod(s := (140, 140, 140)), dtype="q")
    .reshape(s)
    .astype("q")
)

dtypes = [
    "i",
    "l",
    "L",
    "I",
    "b",
    "B",
    "h",
    "H",
    "q",
    "Q",
    "f",
    "d",
]
img = None
timeitnumber = 25
results = []
for dtype in dtypes:
    img = c.astype(dtype)
    results.append(img.dtype)
    results.append("-----------------ARGWHERE COMPARE <= --------")
    eq = np_argwhere_values(
        img, search_for=20, operation="<=", no_gil=False, flip_array=True
    )
    eq2 = np.argwhere(img <= 20)
    result1 = timeit.timeit(
        'np_argwhere_values(img, search_for=20, operation="<=", no_gil=False, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result2 = timeit.timeit(
        'np_argwhere_values(img, search_for=20, operation="<=", no_gil=True, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result3 = timeit.timeit(
        "np.argwhere(img<=20)",
        number=timeitnumber,
        globals=globals(),
    )

    match = np.all(eq == eq2)
    results.append(
        f"zig gil:{result1}\nzig nogil: {result2}\nnp: {result3}\nmatch:{match}\nshape:{np.asarray(eq).shape}\ndtype:{img.dtype}\n"
    )
    results.append("-----------------ARGWHERE COMPARE >= --------")
    eq = np_argwhere_values(
        img, search_for=100, operation=">=", no_gil=False, flip_array=True
    )
    eq2 = np.argwhere(img >= 100)
    result1 = timeit.timeit(
        'np_argwhere_values(img, search_for=100, operation=">=", no_gil=False, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result2 = timeit.timeit(
        'np_argwhere_values(img, search_for=100, operation=">=", no_gil=True, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result3 = timeit.timeit(
        "np.argwhere(img>=100)",
        number=timeitnumber,
        globals=globals(),
    )

    match = np.all(eq == eq2)
    results.append(
        f"zig gil:{result1}\nzig nogil: {result2}\nnp: {result3}\nmatch:{match}\nshape:{np.asarray(eq).shape}\ndtype:{img.dtype}\n"
    )

    results.append("-----------------ARGWHERE COMPARE < --------")
    eq = np_argwhere_values(
        img, search_for=20, operation="<", no_gil=False, flip_array=True
    )
    eq2 = np.argwhere(img < 20)
    result1 = timeit.timeit(
        'np_argwhere_values(img, search_for=20, operation="<", no_gil=False, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result2 = timeit.timeit(
        'np_argwhere_values(img, search_for=20, operation="<", no_gil=True, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result3 = timeit.timeit(
        "np.argwhere(img<20)",
        number=timeitnumber,
        globals=globals(),
    )

    match = np.all(eq == eq2)
    results.append(
        f"zig gil:{result1}\nzig nogil: {result2}\nnp: {result3}\nmatch:{match}\nshape:{np.asarray(eq).shape}\ndtype:{img.dtype}\n"
    )
    results.append("-----------------ARGWHERE COMPARE > --------")
    eq = np_argwhere_values(
        img, search_for=100, operation=">", no_gil=False, flip_array=True
    )
    eq2 = np.argwhere(img > 100)
    result1 = timeit.timeit(
        'np_argwhere_values(img, search_for=100, operation=">", no_gil=False, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result2 = timeit.timeit(
        'np_argwhere_values(img, search_for=100, operation=">", no_gil=True, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result3 = timeit.timeit(
        "np.argwhere(img>100)",
        number=timeitnumber,
        globals=globals(),
    )

    match = np.all(eq == eq2)
    results.append(
        f"zig gil:{result1}\nzig nogil: {result2}\nnp: {result3}\nmatch:{match}\nshape:{np.asarray(eq).shape}\ndtype:{img.dtype}\n"
    )
    results.append("-----------------ARGWHERE COMPARE == --------")
    eq = np_argwhere_values(
        img, search_for=100, operation="==", no_gil=False, flip_array=True
    )
    eq2 = np.argwhere(img == 100)
    result1 = timeit.timeit(
        'np_argwhere_values(img, search_for=100, operation="==", no_gil=False, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result2 = timeit.timeit(
        'np_argwhere_values(img, search_for=100, operation="==", no_gil=True, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result3 = timeit.timeit(
        "np.argwhere(img==100)",
        number=timeitnumber,
        globals=globals(),
    )

    match = np.all(eq == eq2)
    results.append(
        f"zig gil:{result1}\nzig nogil: {result2}\nnp: {result3}\nmatch:{match}\nshape:{np.asarray(eq).shape}\ndtype:{img.dtype}\n"
    )
    results.append("-----------------where where - BOOL == --------------------")
    eq = np_where_bool(
        (img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100),
        no_gil=False,
        flip_array=True,
    )
    eq2 = np.where((img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100))
    result1 = timeit.timeit(
        "np_where_bool(((img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100)), no_gil=False,flip_array=True)",
        number=timeitnumber,
        globals=globals(),
    )
    result2 = timeit.timeit(
        "np_where_bool(((img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100)), no_gil=True,flip_array=True)",
        number=timeitnumber,
        globals=globals(),
    )
    result3 = timeit.timeit(
        "np.where((img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100))",
        number=timeitnumber,
        globals=globals(),
    )

    match = np.all(np.asarray(eq) == np.asarray(eq2))

    results.append(
        f"zig gil:{result1}\nzig nogil: {result2}\nnp: {result3}\nmatch:{match}\nshape:{np.asarray(eq).shape}\ndtype:{img.dtype}\n------------"
    )

    results.append("-----------------where ARGWHERE - BOOL >= --------")
    eq = np_argwhere_bool(
        (img[..., 0] >= 100) & (img[..., 1] >= 100) & (img[..., 2] >= 100),
        no_gil=False,
        flip_array=True,
    )
    eq2 = np.argwhere(
        (img[..., 0] >= 100) & (img[..., 1] >= 100) & (img[..., 2] >= 100)
    )
    result1 = timeit.timeit(
        "np_argwhere_bool(((img[..., 0] >= 100) & (img[..., 1] >= 100) & (img[..., 2] >= 100)), no_gil=False,flip_array=True)",
        number=timeitnumber,
        globals=globals(),
    )
    result2 = timeit.timeit(
        "np_argwhere_bool(((img[..., 0] >= 100) & (img[..., 1] >= 100) & (img[..., 2] >= 100)), no_gil=True,flip_array=True)",
        number=timeitnumber,
        globals=globals(),
    )
    result3 = timeit.timeit(
        "np.argwhere((img[..., 0] >= 100) & (img[..., 1] >= 100) & (img[..., 2] >= 100))",
        number=timeitnumber,
        globals=globals(),
    )

    match = np.all(np.asarray(eq) >= np.asarray(eq2))

    results.append(
        f"zig gil:{result1}\nzig nogil: {result2}\nnp: {result3}\nmatch:{match}\nshape:{np.asarray(eq).shape}\ndtype:{img.dtype}\n"
    )

    results.append("-----------------where ARGWHERE - BOOL == --------")
    eq = np_argwhere_bool(
        (img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100),
        no_gil=False,
        flip_array=True,
    )
    eq2 = np.argwhere(
        (img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100)
    )
    result1 = timeit.timeit(
        "np_argwhere_bool(((img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100)), no_gil=False,flip_array=True)",
        number=timeitnumber,
        globals=globals(),
    )
    result2 = timeit.timeit(
        "np_argwhere_bool(((img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100)), no_gil=True,flip_array=True)",
        number=timeitnumber,
        globals=globals(),
    )
    result3 = timeit.timeit(
        "np.argwhere((img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100))",
        number=timeitnumber,
        globals=globals(),
    )

    match = np.all(np.asarray(eq) == np.asarray(eq2))

    results.append(
        f"zig gil:{result1}\nzig nogil: {result2}\nnp: {result3}\nmatch:{match}\nshape:{np.asarray(eq).shape}\ndtype:{img.dtype}\n"
    )

    results.append("-----------------where COMPARE <= --------")
    eq = np_where_values(
        img, search_for=20, operation="<=", no_gil=False, flip_array=True
    )
    eq2 = np.where(img <= 20)
    result1 = timeit.timeit(
        'np_where_values(img, search_for=20, operation="<=", no_gil=False, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result2 = timeit.timeit(
        'np_where_values(img, search_for=20, operation="<=", no_gil=True, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result3 = timeit.timeit(
        "np.where(img<=20)",
        number=timeitnumber,
        globals=globals(),
    )

    match = np.all(np.asarray(eq) == np.asarray(eq2))

    results.append(
        f"zig gil:{result1}\nzig nogil: {result2}\nnp: {result3}\nmatch:{match}\nshape:{np.asarray(eq).shape}\ndtype:{img.dtype}\n"
    )
    results.append("-----------------where COMPARE >= --------")
    eq = np_where_values(
        img, search_for=100, operation=">=", no_gil=False, flip_array=True
    )
    eq2 = np.where(img >= 100)
    result1 = timeit.timeit(
        'np_where_values(img, search_for=100, operation=">=", no_gil=False, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result2 = timeit.timeit(
        'np_where_values(img, search_for=100, operation=">=", no_gil=True, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result3 = timeit.timeit(
        "np.where(img>=100)",
        number=timeitnumber,
        globals=globals(),
    )

    match = np.all(np.asarray(eq) == np.asarray(eq2))
    results.append(
        f"zig gil:{result1}\nzig nogil: {result2}\nnp: {result3}\nmatch:{match}\nshape:{np.asarray(eq).shape}\ndtype:{img.dtype}\n"
    )

    results.append("-----------------where COMPARE < --------")
    eq = np_where_values(
        img, search_for=20, operation="<", no_gil=False, flip_array=True
    )
    eq2 = np.where(img < 20)
    result1 = timeit.timeit(
        'np_where_values(img, search_for=20, operation="<", no_gil=False, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result2 = timeit.timeit(
        'np_where_values(img, search_for=20, operation="<", no_gil=True, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result3 = timeit.timeit(
        "np.where(img<20)",
        number=timeitnumber,
        globals=globals(),
    )

    match = np.all(np.asarray(eq) == np.asarray(eq2))
    results.append(
        f"zig gil:{result1}\nzig nogil: {result2}\nnp: {result3}\nmatch:{match}\nshape:{np.asarray(eq).shape}\ndtype:{img.dtype}\n"
    )
    results.append("-----------------where COMPARE > --------")
    eq = np_where_values(
        img, search_for=100, operation=">", no_gil=False, flip_array=True
    )
    eq2 = np.where(img > 100)
    result1 = timeit.timeit(
        'np_where_values(img, search_for=100, operation=">", no_gil=False, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result2 = timeit.timeit(
        'np_where_values(img, search_for=100, operation=">", no_gil=True, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result3 = timeit.timeit(
        "np.where(img>100)",
        number=timeitnumber,
        globals=globals(),
    )

    match = np.all(np.asarray(eq) == np.asarray(eq2))
    results.append(
        f"zig gil:{result1}\nzig nogil: {result2}\nnp: {result3}\nmatch:{match}\nshape:{np.asarray(eq).shape}\ndtype:{img.dtype}\n"
    )
    results.append("-----------------where COMPARE == --------")
    eq = np_where_values(
        img, search_for=100, operation="==", no_gil=False, flip_array=True
    )
    eq2 = np.where(img == 100)
    result1 = timeit.timeit(
        'np_where_values(img, search_for=100, operation="==", no_gil=False, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result2 = timeit.timeit(
        'np_where_values(img, search_for=100, operation="==", no_gil=True, flip_array=True)',
        number=timeitnumber,
        globals=globals(),
    )
    result3 = timeit.timeit(
        "np.where(img==100)",
        number=timeitnumber,
        globals=globals(),
    )

    match = np.all(np.asarray(eq) == np.asarray(eq2))
    results.append(
        f"zig gil:{result1}\nzig nogil: {result2}\nnp: {result3}\nmatch:{match}\nshape:{np.asarray(eq).shape}\ndtype:{img.dtype}\n"
    )

    results.append("-----------------BOOL COMPARE--------")
    eq = npwhere_bool_compare(img, search_for=100, operation="==", no_gil=False)
    eq2 = img == 100
    result1 = timeit.timeit(
        'npwhere_bool_compare(img, search_for=100, operation="==", no_gil=False,)',
        number=timeitnumber,
        globals=globals(),
    )
    result2 = timeit.timeit(
        'npwhere_bool_compare(img, search_for=100, operation="==", no_gil=True,)',
        number=timeitnumber,
        globals=globals(),
    )
    result3 = timeit.timeit(
        "img==100",
        number=timeitnumber,
        globals=globals(),
    )
    match = np.all(eq == eq2)
    results.append(
        f"zig gil:{result1}\nzig nogil: {result2}\nnp: {result3}\nmatch:{match}\nshape:{np.asarray(eq).shape}\ndtype:{img.dtype}\n"
    )


with open("c:\\testzig.txt", mode="w", encoding="utf-8") as f:
    f.write("\n".join([str(q) for q in results]))
    
    


int32
-----------------ARGWHERE COMPARE <= --------
zig gil:1.0453643000000739
zig nogil: 1.0393527000051108
np: 1.0445317999983672
match:True
shape:(1598124, 3)
dtype:int32

-----------------ARGWHERE COMPARE >= --------
zig gil:0.24228240000229562
zig nogil: 0.2643610000013723
np: 0.40769609999551903
match:True
shape:(292205, 3)
dtype:int32

-----------------ARGWHERE COMPARE < --------
zig gil:1.1265876999968896
zig nogil: 1.0275963000021875
np: 1.047081500000786
match:True
shape:(1587310, 3)
dtype:int32

-----------------ARGWHERE COMPARE > --------
zig gil:0.23478349999641068
zig nogil: 0.2322511000020313
np: 0.36827120000089053
match:True
shape:(281390, 3)
dtype:int32

-----------------ARGWHERE COMPARE == --------
zig gil:0.03906589999678545
zig nogil: 0.04275030000280822
np: 0.2073759999984759
match:True
shape:(10815, 3)
dtype:int32

-----------------where where - BOOL == --------------------
zig gil:0.005037599999923259
zig nogil: 0.004561000001558568
np: 0.005418699998699594
match:True
shape:(2, 0)
dtype:int32
------------
-----------------where ARGWHERE - BOOL >= --------
zig gil:0.004978300006769132
zig nogil: 0.004731600005470682
np: 0.006458099996962119
match:True
shape:(27, 2)
dtype:int32

-----------------where ARGWHERE - BOOL == --------
zig gil:0.004904999994323589
zig nogil: 0.004452599998330697
np: 0.005015900002035778
match:True
shape:(0, 2)
dtype:int32

-----------------where COMPARE <= --------
zig gil:1.0521731999979238
zig nogil: 1.0631141000048956
np: 0.6707173000031617
match:True
shape:(3, 1598124)
dtype:int32

-----------------where COMPARE >= --------
zig gil:0.2441543000022648
zig nogil: 0.24308600000222214
np: 0.3046978999991552
match:True
shape:(3, 292205)
dtype:int32

-----------------where COMPARE < --------
zig gil:1.0931373999992502
zig nogil: 1.1720722000027308
np: 0.7051255000042147
match:True
shape:(3, 1587310)
dtype:int32

-----------------where COMPARE > --------
zig gil:0.3539267999949516
zig nogil: 0.27942780000012135
np: 0.30127879999781726
match:True
shape:(3, 281390)
dtype:int32

-----------------where COMPARE == --------
zig gil:0.040829200006555766
zig nogil: 0.03826119999575894
np: 0.20059480000054464
match:True
shape:(3, 10815)
dtype:int32

-----------------BOOL COMPARE--------
zig gil:0.05405780000000959
zig nogil: 0.050152099996921606
np: 0.037745000001450535
match:True
shape:(140, 140, 140)
dtype:int32

int32
-----------------ARGWHERE COMPARE <= --------
zig gil:1.0762249000035808
zig nogil: 1.0890843000015593
np: 1.077813600000809
match:True
shape:(1598124, 3)
dtype:int32

-----------------ARGWHERE COMPARE >= --------
zig gil:0.2510666999951354
zig nogil: 0.2522596999988309
np: 0.4065296000044327
match:True
shape:(292205, 3)
dtype:int32

-----------------ARGWHERE COMPARE < --------
zig gil:1.1278104999946663
zig nogil: 1.2096862999969744
np: 1.1818012000003364
match:True
shape:(1587310, 3)
dtype:int32

-----------------ARGWHERE COMPARE > --------
zig gil:0.24403650000022026
zig nogil: 0.24818120000418276
np: 0.3742421999995713
match:True
shape:(281390, 3)
dtype:int32

-----------------ARGWHERE COMPARE == --------
zig gil:0.03759559999889461
zig nogil: 0.03813069999887375
np: 0.20157189999736147
match:True
shape:(10815, 3)
dtype:int32

-----------------where where - BOOL == --------------------
zig gil:0.005644299999403302
zig nogil: 0.004658300000301097
np: 0.0042245000004186295
match:True
shape:(2, 0)
dtype:int32
------------
-----------------where ARGWHERE - BOOL >= --------
zig gil:0.006674700001894962
zig nogil: 0.004357899997557979
np: 0.0042458999960217625
match:True
shape:(27, 2)
dtype:int32

-----------------where ARGWHERE - BOOL == --------
zig gil:0.004734499998448882
zig nogil: 0.004520599999523256
np: 0.004316799997468479
match:True
shape:(0, 2)
dtype:int32

-----------------where COMPARE <= --------
zig gil:1.108021899999585
zig nogil: 1.1879577999934554
np: 0.705058800005645
match:True
shape:(3, 1598124)
dtype:int32

-----------------where COMPARE >= --------
zig gil:0.26749820000259206
zig nogil: 0.2739512999978615
np: 0.324334999997518
match:True
shape:(3, 292205)
dtype:int32

-----------------where COMPARE < --------
zig gil:1.2806244999956107
zig nogil: 1.1645591000051354
np: 0.7103519000011147
match:True
shape:(3, 1587310)
dtype:int32

-----------------where COMPARE > --------
zig gil:0.24668299999757437
zig nogil: 0.24255669999547536
np: 0.30934260000503855
match:True
shape:(3, 281390)
dtype:int32

-----------------where COMPARE == --------
zig gil:0.040019699998083524
zig nogil: 0.04294820000359323
np: 0.19780349999928148
match:True
shape:(3, 10815)
dtype:int32

-----------------BOOL COMPARE--------
zig gil:0.04581770000368124
zig nogil: 0.05184490000101505
np: 0.031176899996353313
match:True
shape:(140, 140, 140)
dtype:int32

uint32
-----------------ARGWHERE COMPARE <= --------
zig gil:0.1964540000044508
zig nogil: 0.1941627000051085
np: 0.3488498000006075
match:True
shape:(226903, 3)
dtype:uint32

-----------------ARGWHERE COMPARE >= --------
zig gil:1.1061921000000439
zig nogil: 1.1069925999981933
np: 1.093210300001374
match:True
shape:(1663426, 3)
dtype:uint32

-----------------ARGWHERE COMPARE < --------
zig gil:0.18653590000030817
zig nogil: 0.1908155999990413
np: 0.32847530000435654
match:True
shape:(216089, 3)
dtype:uint32

-----------------ARGWHERE COMPARE > --------
zig gil:1.1222268999990774
zig nogil: 1.1503158999985317
np: 1.1948583999983384
match:True
shape:(1652611, 3)
dtype:uint32

-----------------ARGWHERE COMPARE == --------
zig gil:0.053662899998016655
zig nogil: 0.040343500004382804
np: 0.19921169999724953
match:True
shape:(10815, 3)
dtype:uint32

-----------------where where - BOOL == --------------------
zig gil:0.004857699997955933
zig nogil: 0.0046355000013136305
np: 0.0061847999968449585
match:True
shape:(2, 0)
dtype:uint32
------------
-----------------where ARGWHERE - BOOL >= --------
zig gil:0.007213299999420997
zig nogil: 0.009092500004044268
np: 0.005732899997383356
match:True
shape:(4322, 2)
dtype:uint32

-----------------where ARGWHERE - BOOL == --------
zig gil:0.004360200000519399
zig nogil: 0.005485599998792168
np: 0.004490599996643141
match:True
shape:(0, 2)
dtype:uint32

-----------------where COMPARE <= --------
zig gil:0.2235962000049767
zig nogil: 0.21312630000466015
np: 0.27629609999712557
match:True
shape:(3, 226903)
dtype:uint32

-----------------where COMPARE >= --------
zig gil:1.1485383999970509
zig nogil: 1.1657611999980872
np: 0.6966458999959286
match:True
shape:(3, 1663426)
dtype:uint32

-----------------where COMPARE < --------
zig gil:0.19705070000054548
zig nogil: 0.20952780000516213
np: 0.27919209999527084
match:True
shape:(3, 216089)
dtype:uint32

-----------------where COMPARE > --------
zig gil:1.124366000003647
zig nogil: 1.1337993999986793
np: 0.6802123000015854
match:True
shape:(3, 1652611)
dtype:uint32

-----------------where COMPARE == --------
zig gil:0.04778169999917736
zig nogil: 0.03732649999437854
np: 0.19193559999985155
match:True
shape:(3, 10815)
dtype:uint32

-----------------BOOL COMPARE--------
zig gil:0.04572869999537943
zig nogil: 0.04543019999982789
np: 0.030963299999712035
match:True
shape:(140, 140, 140)
dtype:uint32

uint32
-----------------ARGWHERE COMPARE <= --------
zig gil:0.19627439999749186
zig nogil: 0.19589229999837698
np: 0.3332848999998532
match:True
shape:(226903, 3)
dtype:uint32

-----------------ARGWHERE COMPARE >= --------
zig gil:1.0832141999999294
zig nogil: 1.0849001999959
np: 1.081186000003072
match:True
shape:(1663426, 3)
dtype:uint32

-----------------ARGWHERE COMPARE < --------
zig gil:0.18808019999414682
zig nogil: 0.19334499999968102
np: 0.3290424000006169
match:True
shape:(216089, 3)
dtype:uint32

-----------------ARGWHERE COMPARE > --------
zig gil:1.1011921000026632
zig nogil: 1.1097324000002118
np: 1.0838006999983918
match:True
shape:(1652611, 3)
dtype:uint32

-----------------ARGWHERE COMPARE == --------
zig gil:0.03672519999963697
zig nogil: 0.03830019999440992
np: 0.20361289999709697
match:True
shape:(10815, 3)
dtype:uint32

-----------------where where - BOOL == --------------------
zig gil:0.004443900004844181
zig nogil: 0.0061150999972596765
np: 0.005197799997404218
match:True
shape:(2, 0)
dtype:uint32
------------
-----------------where ARGWHERE - BOOL >= --------
zig gil:0.006627000002481509
zig nogil: 0.0082336999985273
np: 0.006118099998275284
match:True
shape:(4322, 2)
dtype:uint32

-----------------where ARGWHERE - BOOL == --------
zig gil:0.00517519999993965
zig nogil: 0.0042538999987300485
np: 0.00521380000282079
match:True
shape:(0, 2)
dtype:uint32

-----------------where COMPARE <= --------
zig gil:0.2075191000039922
zig nogil: 0.2090083999937633
np: 0.2759799999985262
match:True
shape:(3, 226903)
dtype:uint32

-----------------where COMPARE >= --------
zig gil:1.1299867999987327
zig nogil: 1.121614400006365
np: 0.6980842000048142
match:True
shape:(3, 1663426)
dtype:uint32

-----------------where COMPARE < --------
zig gil:0.19274900000164052
zig nogil: 0.19373300000006566
np: 0.2737632999997004
match:True
shape:(3, 216089)
dtype:uint32

-----------------where COMPARE > --------
zig gil:1.1311681000006502
zig nogil: 1.1230463000028976
np: 0.7220444999984466
match:True
shape:(3, 1652611)
dtype:uint32

-----------------where COMPARE == --------
zig gil:0.04169489999912912
zig nogil: 0.040411899994069245
np: 0.21216659999481635
match:True
shape:(3, 10815)
dtype:uint32

-----------------BOOL COMPARE--------
zig gil:0.060149699995236006
zig nogil: 0.049082600002293475
np: 0.036286399998061825
match:True
shape:(140, 140, 140)
dtype:uint32

int8
-----------------ARGWHERE COMPARE <= --------
zig gil:1.1552793999944697
zig nogil: 1.136502000001201
np: 1.131550199999765
match:True
shape:(1598124, 3)
dtype:int8

-----------------ARGWHERE COMPARE >= --------
zig gil:0.23353389999829233
zig nogil: 0.22887740000442136
np: 0.35271730000386015
match:True
shape:(292205, 3)
dtype:int8

-----------------ARGWHERE COMPARE < --------
zig gil:1.045492599994759
zig nogil: 1.0624449999959324
np: 1.0365001000027405
match:True
shape:(1587310, 3)
dtype:int8

-----------------ARGWHERE COMPARE > --------
zig gil:0.22238500000094064
zig nogil: 0.2210274999961257
np: 0.34771630000614095
match:True
shape:(281390, 3)
dtype:int8

-----------------ARGWHERE COMPARE == --------
zig gil:0.03402199999982258
zig nogil: 0.0346715999985463
np: 0.1815255999972578
match:True
shape:(10815, 3)
dtype:int8

-----------------where where - BOOL == --------------------
zig gil:0.0036173999978927895
zig nogil: 0.0035343999988981523
np: 0.004212699997879099
match:True
shape:(2, 0)
dtype:int8
------------
-----------------where ARGWHERE - BOOL >= --------
zig gil:0.004141199999139644
zig nogil: 0.0032799999971757643
np: 0.003482599997369107
match:True
shape:(27, 2)
dtype:int8

-----------------where ARGWHERE - BOOL == --------
zig gil:0.003966500000387896
zig nogil: 0.0035234999959357083
np: 0.0036605999994208105
match:True
shape:(0, 2)
dtype:int8

-----------------where COMPARE <= --------
zig gil:1.0750041999999667
zig nogil: 1.1085418000002392
np: 0.6818615999945905
match:True
shape:(3, 1598124)
dtype:int8

-----------------where COMPARE >= --------
zig gil:0.28743199999735225
zig nogil: 0.29690140000457177
np: 0.3008990999951493
match:True
shape:(3, 292205)
dtype:int8

-----------------where COMPARE < --------
zig gil:1.192170599999372
zig nogil: 1.1204495999991195
np: 0.6612194000044838
match:True
shape:(3, 1587310)
dtype:int8

-----------------where COMPARE > --------
zig gil:0.2413481999974465
zig nogil: 0.24648419999721227
np: 0.2772222999992664
match:True
shape:(3, 281390)
dtype:int8

-----------------where COMPARE == --------
zig gil:0.033440899998822715
zig nogil: 0.03384809999988647
np: 0.18103819999669213
match:True
shape:(3, 10815)
dtype:int8

-----------------BOOL COMPARE--------
zig gil:0.036112000001594424
zig nogil: 0.03489059999992605
np: 0.017571399999724235
match:True
shape:(140, 140, 140)
dtype:int8

uint8
-----------------ARGWHERE COMPARE <= --------
zig gil:0.1841375000003609
zig nogil: 0.17526969999744324
np: 0.32225569999718573
match:True
shape:(226903, 3)
dtype:uint8

-----------------ARGWHERE COMPARE >= --------
zig gil:1.1261682999975164
zig nogil: 1.102965400001267
np: 1.0529635999992024
match:True
shape:(1663426, 3)
dtype:uint8

-----------------ARGWHERE COMPARE < --------
zig gil:0.17155259999708505
zig nogil: 0.1772997000007308
np: 0.30076009999902453
match:True
shape:(216089, 3)
dtype:uint8

-----------------ARGWHERE COMPARE > --------
zig gil:1.0456674999950337
zig nogil: 1.0428499000045122
np: 1.0483550999997533
match:True
shape:(1652611, 3)
dtype:uint8

-----------------ARGWHERE COMPARE == --------
zig gil:0.03318550000403775
zig nogil: 0.03296289999707369
np: 0.1813481999997748
match:True
shape:(10815, 3)
dtype:uint8

-----------------where where - BOOL == --------------------
zig gil:0.004021299995656591
zig nogil: 0.005225500004598871
np: 0.003259999997681007
match:True
shape:(2, 0)
dtype:uint8
------------
-----------------where ARGWHERE - BOOL >= --------
zig gil:0.0053369000015663914
zig nogil: 0.005747600000177044
np: 0.004954799995175563
match:True
shape:(4322, 2)
dtype:uint8

-----------------where ARGWHERE - BOOL == --------
zig gil:0.0032759000023361295
zig nogil: 0.0032291999959852546
np: 0.0048240999967674725
match:True
shape:(0, 2)
dtype:uint8

-----------------where COMPARE <= --------
zig gil:0.17913739999494283
zig nogil: 0.185414600004151
np: 0.2567559000017354
match:True
shape:(3, 226903)
dtype:uint8

-----------------where COMPARE >= --------
zig gil:1.0847398000041721
zig nogil: 1.0835549999974319
np: 0.6494327999971574
match:True
shape:(3, 1663426)
dtype:uint8

-----------------where COMPARE < --------
zig gil:0.1874753000010969
zig nogil: 0.18116120000195224
np: 0.25421160000405507
match:True
shape:(3, 216089)
dtype:uint8

-----------------where COMPARE > --------
zig gil:1.0855102999994415
zig nogil: 1.0863974000021699
np: 0.6495221000004676
match:True
shape:(3, 1652611)
dtype:uint8

-----------------where COMPARE == --------
zig gil:0.03325779999431688
zig nogil: 0.03255599999829428
np: 0.17988780000450788
match:True
shape:(3, 10815)
dtype:uint8

-----------------BOOL COMPARE--------
zig gil:0.035717500002647284
zig nogil: 0.03531300000031479
np: 0.016562900003918912
match:True
shape:(140, 140, 140)
dtype:uint8

int16
-----------------ARGWHERE COMPARE <= --------
zig gil:1.02951299999404
zig nogil: 1.0302740999977686
np: 1.038085799998953
match:True
shape:(1598124, 3)
dtype:int16

-----------------ARGWHERE COMPARE >= --------
zig gil:0.22520589999476215
zig nogil: 0.2262964000037755
np: 0.35299749999830965
match:True
shape:(292205, 3)
dtype:int16

-----------------ARGWHERE COMPARE < --------
zig gil:1.0235202000039862
zig nogil: 1.0141824000020279
np: 1.0226949999996577
match:True
shape:(1587310, 3)
dtype:int16

-----------------ARGWHERE COMPARE > --------
zig gil:0.2226516000009724
zig nogil: 0.21719869999651564
np: 0.34484990000055404
match:True
shape:(281390, 3)
dtype:int16

-----------------ARGWHERE COMPARE == --------
zig gil:0.035233599999628495
zig nogil: 0.03535639999608975
np: 0.18344020000222372
match:True
shape:(10815, 3)
dtype:int16

-----------------where where - BOOL == --------------------
zig gil:0.0040972999995574355
zig nogil: 0.003868300002068281
np: 0.004501799994613975
match:True
shape:(2, 0)
dtype:int16
------------
-----------------where ARGWHERE - BOOL >= --------
zig gil:0.003886200000124518
zig nogil: 0.0037716000006184913
np: 0.0039558999997098
match:True
shape:(27, 2)
dtype:int16

-----------------where ARGWHERE - BOOL == --------
zig gil:0.004257799999322742
zig nogil: 0.00396329999784939
np: 0.0039020000040181912
match:True
shape:(0, 2)
dtype:int16

-----------------where COMPARE <= --------
zig gil:1.060442999994848
zig nogil: 1.0666022999939742
np: 0.6628538000004482
match:True
shape:(3, 1598124)
dtype:int16

-----------------where COMPARE >= --------
zig gil:0.2330872000020463
zig nogil: 0.23378719999891473
np: 0.28169049999996787
match:True
shape:(3, 292205)
dtype:int16

-----------------where COMPARE < --------
zig gil:1.1094128000040655
zig nogil: 1.0764696999976877
np: 0.674441700000898
match:True
shape:(3, 1587310)
dtype:int16

-----------------where COMPARE > --------
zig gil:0.23369199999433476
zig nogil: 0.2704968999969424
np: 0.28823389999888605
match:True
shape:(3, 281390)
dtype:int16

-----------------where COMPARE == --------
zig gil:0.03506990000460064
zig nogil: 0.035451299998385366
np: 0.1834231999964686
match:True
shape:(3, 10815)
dtype:int16

-----------------BOOL COMPARE--------
zig gil:0.03780659999756608
zig nogil: 0.03744340000412194
np: 0.0210466999997152
match:True
shape:(140, 140, 140)
dtype:int16

uint16
-----------------ARGWHERE COMPARE <= --------
zig gil:0.19080509999912465
zig nogil: 0.1812366000012844
np: 0.3136149000056321
match:True
shape:(226903, 3)
dtype:uint16

-----------------ARGWHERE COMPARE >= --------
zig gil:1.065713299998606
zig nogil: 1.067334799998207
np: 1.3791226999965147
match:True
shape:(1663426, 3)
dtype:uint16

-----------------ARGWHERE COMPARE < --------
zig gil:0.19583959999727085
zig nogil: 0.20060609999927692
np: 0.33810860000085086
match:True
shape:(216089, 3)
dtype:uint16

-----------------ARGWHERE COMPARE > --------
zig gil:1.1081005000014557
zig nogil: 1.4316662999990513
np: 1.1140935000003083
match:True
shape:(1652611, 3)
dtype:uint16

-----------------ARGWHERE COMPARE == --------
zig gil:0.03786680000484921
zig nogil: 0.0359284000005573
np: 0.18754949999856763
match:True
shape:(10815, 3)
dtype:uint16

-----------------where where - BOOL == --------------------
zig gil:0.004376500000944361
zig nogil: 0.004639999999199063
np: 0.004106899999896996
match:True
shape:(2, 0)
dtype:uint16
------------
-----------------where ARGWHERE - BOOL >= --------
zig gil:0.007890200002293568
zig nogil: 0.005994499995722435
np: 0.005285499995807186
match:True
shape:(4322, 2)
dtype:uint16

-----------------where ARGWHERE - BOOL == --------
zig gil:0.005163199995877221
zig nogil: 0.004107199994905386
np: 0.0043836999975610524
match:True
shape:(0, 2)
dtype:uint16

-----------------where COMPARE <= --------
zig gil:0.21251679999841144
zig nogil: 0.19768759999715257
np: 0.3138230000040494
match:True
shape:(3, 226903)
dtype:uint16

-----------------where COMPARE >= --------
zig gil:1.1643614999993588
zig nogil: 1.1388255999991088
np: 0.6697007000038866
match:True
shape:(3, 1663426)
dtype:uint16

-----------------where COMPARE < --------
zig gil:0.1991718999997829
zig nogil: 0.1961643999966327
np: 0.26244629999564495
match:True
shape:(3, 216089)
dtype:uint16

-----------------where COMPARE > --------
zig gil:1.1065361000000848
zig nogil: 1.1319065999996383
np: 0.6972595999977784
match:True
shape:(3, 1652611)
dtype:uint16

-----------------where COMPARE == --------
zig gil:0.03863629999978002
zig nogil: 0.03757469999982277
np: 0.18571700000029523
match:True
shape:(3, 10815)
dtype:uint16

-----------------BOOL COMPARE--------
zig gil:0.04184079999686219
zig nogil: 0.03974190000008093
np: 0.02256430000124965
match:True
shape:(140, 140, 140)
dtype:uint16

int64
-----------------ARGWHERE COMPARE <= --------
zig gil:1.0644711999993888
zig nogil: 1.0812933999986853
np: 1.1308467000053497
match:True
shape:(1598124, 3)
dtype:int64

-----------------ARGWHERE COMPARE >= --------
zig gil:0.2517588999980944
zig nogil: 0.24914490000082878
np: 0.4183365000062622
match:True
shape:(292205, 3)
dtype:int64

-----------------ARGWHERE COMPARE < --------
zig gil:1.0517617000004975
zig nogil: 1.053249800002959
np: 1.0915187999999034
match:True
shape:(1587310, 3)
dtype:int64

-----------------ARGWHERE COMPARE > --------
zig gil:0.2447424999991199
zig nogil: 0.25284259999898495
np: 0.40370160000020405
match:True
shape:(281390, 3)
dtype:int64

-----------------ARGWHERE COMPARE == --------
zig gil:0.04647990000376012
zig nogil: 0.04556880000018282
np: 0.21837200000300072
match:True
shape:(10815, 3)
dtype:int64

-----------------where where - BOOL == --------------------
zig gil:0.005038000002969056
zig nogil: 0.006453299996792339
np: 0.004466200000024401
match:True
shape:(2, 0)
dtype:int64
------------
-----------------where ARGWHERE - BOOL >= --------
zig gil:0.0046072000041021965
zig nogil: 0.006313799996860325
np: 0.005172299999685492
match:True
shape:(27, 2)
dtype:int64

-----------------where ARGWHERE - BOOL == --------
zig gil:0.005666999997629318
zig nogil: 0.005621099997370038
np: 0.004639600003429223
match:True
shape:(0, 2)
dtype:int64

-----------------where COMPARE <= --------
zig gil:1.214637600001879
zig nogil: 1.2273935999983223
np: 0.7188212999972166
match:True
shape:(3, 1598124)
dtype:int64

-----------------where COMPARE >= --------
zig gil:0.2549092999979621
zig nogil: 0.25533720000385074
np: 0.3293273999952362
match:True
shape:(3, 292205)
dtype:int64

-----------------where COMPARE < --------
zig gil:1.0980450000060955
zig nogil: 1.1495428000052925
np: 0.6986237999954028
match:True
shape:(3, 1587310)
dtype:int64

-----------------where COMPARE > --------
zig gil:0.2518443000008119
zig nogil: 0.24268490000395104
np: 0.3220748999956413
match:True
shape:(3, 281390)
dtype:int64

-----------------where COMPARE == --------
zig gil:0.04951040000014473
zig nogil: 0.04426010000315728
np: 0.21088589999999385
match:True
shape:(3, 10815)
dtype:int64

-----------------BOOL COMPARE--------
zig gil:0.06031230000371579
zig nogil: 0.06050829999730922
np: 0.05139799999597017
match:True
shape:(140, 140, 140)
dtype:int64

uint64
-----------------ARGWHERE COMPARE <= --------
zig gil:0.20893680000153836
zig nogil: 0.2036004999972647
np: 0.3594602999946801
match:True
shape:(226903, 3)
dtype:uint64

-----------------ARGWHERE COMPARE >= --------
zig gil:1.0828016000014031
zig nogil: 1.0631242000017664
np: 1.0808288999978686
match:True
shape:(1663426, 3)
dtype:uint64

-----------------ARGWHERE COMPARE < --------
zig gil:0.1978582000010647
zig nogil: 0.1927542000048561
np: 0.35142899999482324
match:True
shape:(216089, 3)
dtype:uint64

-----------------ARGWHERE COMPARE > --------
zig gil:1.0459884000010788
zig nogil: 1.0498370999994222
np: 1.0780140000060783
match:True
shape:(1652611, 3)
dtype:uint64

-----------------ARGWHERE COMPARE == --------
zig gil:0.0439057000039611
zig nogil: 0.04253980000066804
np: 0.2099106000023312
match:True
shape:(10815, 3)
dtype:uint64

-----------------where where - BOOL == --------------------
zig gil:0.004622400003427174
zig nogil: 0.005763400004070718
np: 0.004409799999848474
match:True
shape:(2, 0)
dtype:uint64
------------
-----------------where ARGWHERE - BOOL >= --------
zig gil:0.007892699999501929
zig nogil: 0.0066026999993482605
np: 0.005884800004423596
match:True
shape:(4322, 2)
dtype:uint64

-----------------where ARGWHERE - BOOL == --------
zig gil:0.005972199993266258
zig nogil: 0.0049336000010953285
np: 0.004871200006164145
match:True
shape:(0, 2)
dtype:uint64

-----------------where COMPARE <= --------
zig gil:0.21246489999612095
zig nogil: 0.20566459999827202
np: 0.3349847999998019
match:True
shape:(3, 226903)
dtype:uint64

-----------------where COMPARE >= --------
zig gil:1.0974528000006103
zig nogil: 1.1057868999996572
np: 0.6933072000028915
match:True
shape:(3, 1663426)
dtype:uint64

-----------------where COMPARE < --------
zig gil:0.19585250000091037
zig nogil: 0.2244661000004271
np: 0.2922921999997925
match:True
shape:(3, 216089)
dtype:uint64

-----------------where COMPARE > --------
zig gil:1.099598100001458
zig nogil: 1.1080314999999246
np: 0.7005652000007103
match:True
shape:(3, 1652611)
dtype:uint64

-----------------where COMPARE == --------
zig gil:0.043576699994446244
zig nogil: 0.042915600002743304
np: 0.21026359999814304
match:True
shape:(3, 10815)
dtype:uint64

-----------------BOOL COMPARE--------
zig gil:0.06685860000288812
zig nogil: 0.07007519999751821
np: 0.05363699999725213
match:True
shape:(140, 140, 140)
dtype:uint64

float32
-----------------ARGWHERE COMPARE <= --------
zig gil:1.0293850000016391
zig nogil: 1.0510993999996572
np: 1.0392023000022164
match:True
shape:(1598124, 3)
dtype:float32

-----------------ARGWHERE COMPARE >= --------
zig gil:0.23745529999723658
zig nogil: 0.24302510000416078
np: 0.3576503000003868
match:True
shape:(292205, 3)
dtype:float32

-----------------ARGWHERE COMPARE < --------
zig gil:1.0341159999952652
zig nogil: 1.0376395000057528
np: 1.0435389000049327
match:True
shape:(1587310, 3)
dtype:float32

-----------------ARGWHERE COMPARE > --------
zig gil:0.23462470000231406
zig nogil: 0.23231859999941662
np: 0.3542373000018415
match:True
shape:(281390, 3)
dtype:float32

-----------------ARGWHERE COMPARE == --------
zig gil:0.03314200000022538
zig nogil: 0.03299859999970067
np: 0.19556089999969117
match:True
shape:(10815, 3)
dtype:float32

-----------------where where - BOOL == --------------------
zig gil:0.005372899999201763
zig nogil: 0.005764900000940543
np: 0.005703800001356285
match:True
shape:(2, 0)
dtype:float32
------------
-----------------where ARGWHERE - BOOL >= --------
zig gil:0.0052397000035853125
zig nogil: 0.007302000005438458
np: 0.005217300000367686
match:True
shape:(27, 2)
dtype:float32

-----------------where ARGWHERE - BOOL == --------
zig gil:0.006024000002071261
zig nogil: 0.0053046000030008145
np: 0.004995399998733774
match:True
shape:(0, 2)
dtype:float32

-----------------where COMPARE <= --------
zig gil:1.0465098999993643
zig nogil: 1.0979698000010103
np: 0.6823720000029425
match:True
shape:(3, 1598124)
dtype:float32

-----------------where COMPARE >= --------
zig gil:0.24625799999921583
zig nogil: 0.24437179999949876
np: 0.30550200000288896
match:True
shape:(3, 292205)
dtype:float32

-----------------where COMPARE < --------
zig gil:1.0567613000021083
zig nogil: 1.0672071000008145
np: 0.6560558000055607
match:True
shape:(3, 1587310)
dtype:float32

-----------------where COMPARE > --------
zig gil:0.23791450000135228
zig nogil: 0.23916550000285497
np: 0.29138899999816203
match:True
shape:(3, 281390)
dtype:float32

-----------------where COMPARE == --------
zig gil:0.0328423999962979
zig nogil: 0.032826999995450024
np: 0.19034929999907035
match:True
shape:(3, 10815)
dtype:float32

-----------------BOOL COMPARE--------
zig gil:0.04899730000033742
zig nogil: 0.0499880999996094
np: 0.027367599999706727
match:True
shape:(140, 140, 140)
dtype:float32

float64
-----------------ARGWHERE COMPARE <= --------
zig gil:1.0527567000026465
zig nogil: 1.0702018000010867
np: 1.0655105000041658
match:True
shape:(1598124, 3)
dtype:float64

-----------------ARGWHERE COMPARE >= --------
zig gil:0.24714550000499003
zig nogil: 0.2622479999990901
np: 0.3725200999979279
match:True
shape:(292205, 3)
dtype:float64

-----------------ARGWHERE COMPARE < --------
zig gil:1.0441196999963722
zig nogil: 1.0507036000053631
np: 1.0560502000007546
match:True
shape:(1587310, 3)
dtype:float64

-----------------ARGWHERE COMPARE > --------
zig gil:0.24077240000042366
zig nogil: 0.26215989999764133
np: 0.3696628000034252
match:True
shape:(281390, 3)
dtype:float64

-----------------ARGWHERE COMPARE == --------
zig gil:0.04775909999443684
zig nogil: 0.04949290000513429
np: 0.20534539999789558
match:True
shape:(10815, 3)
dtype:float64

-----------------where where - BOOL == --------------------
zig gil:0.005014900001697242
zig nogil: 0.004667700006393716
np: 0.00470849999692291
match:True
shape:(2, 0)
dtype:float64
------------
-----------------where ARGWHERE - BOOL >= --------
zig gil:0.0049082000041380525
zig nogil: 0.00476860000344459
np: 0.0046531999978469685
match:True
shape:(27, 2)
dtype:float64

-----------------where ARGWHERE - BOOL == --------
zig gil:0.005391400001826696
zig nogil: 0.005714799997804221
np: 0.005357599999115337
match:True
shape:(0, 2)
dtype:float64

-----------------where COMPARE <= --------
zig gil:1.1030351000008523
zig nogil: 1.0995989000002737
np: 0.6731149999977788
match:True
shape:(3, 1598124)
dtype:float64

-----------------where COMPARE >= --------
zig gil:0.27416749999974854
zig nogil: 0.2519438999952399
np: 0.3041400000001886
match:True
shape:(3, 292205)
dtype:float64

-----------------where COMPARE < --------
zig gil:1.0691622000013012
zig nogil: 1.10280739999871
np: 0.7120320000030915
match:True
shape:(3, 1587310)
dtype:float64

-----------------where COMPARE > --------
zig gil:0.24791349999577506
zig nogil: 0.2429545999984839
np: 0.3003030000036233
match:True
shape:(3, 281390)
dtype:float64

-----------------where COMPARE == --------
zig gil:0.05101190000277711
zig nogil: 0.05927199999860022
np: 0.21094230000016978
match:True
shape:(3, 10815)
dtype:float64

-----------------BOOL COMPARE--------
zig gil:0.059391800001321826
zig nogil: 0.06431609999708598
np: 0.042864600000029895
match:True
shape:(140, 140, 140)
dtype:float64

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

npzigloc-0.11.tar.gz (58.2 kB view hashes)

Uploaded Source

Built Distribution

npzigloc-0.11-py3-none-any.whl (43.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page