# 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!
```PY
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
```
Raw data
{
"_id": null,
"home_page": "https://github.com/hansalemaos/npzigloc",
"name": "npzigloc",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "Zig, Numpy",
"author": "Johannes Fischer",
"author_email": "aulasparticularesdealemaosp@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/53/7b/4540ad233315c3f974f6100041da7e1ab2d72f76351e09385988ba782b3b/npzigloc-0.11.tar.gz",
"platform": null,
"description": "\r\n# Some Zig functions for Numpy\r\n\r\n### Tested against Windows 10 / Python 3.11 / Anaconda / C++ 20 - MSVC\r\n\r\n### pip install npzigloc\r\n\r\n### Cython and a C++ compiler must be installed!\r\n\r\n```PY\r\nfrom npzigloc import *\r\nimport numpy as np\r\nimport timeit\r\n\r\narray_shape = (256, 256, 256)\r\nflatindex = npzigwhere.flatten_np_index(\r\n array_shape,\r\n no_gil=True,\r\n transpose=False,\r\n npfunction=b\"flatten_index\",\r\n flip_array=True,\r\n)\r\nprint(flatindex)\r\n# %timeit flatindex=npzigwhere.flatten_np_index(array_shape, no_gil=True,transpose=False, npfunction=b'flatten_index',flip_array=True )\r\nflatindex = npzigwhere.flatten_np_index(\r\n array_shape,\r\n no_gil=True,\r\n transpose=False,\r\n npfunction=b\"flatten_index\",\r\n flip_array=False,\r\n)\r\n# %timeit flatindex=npzigwhere.flatten_np_index(array_shape, no_gil=True,transpose=False, npfunction=b'flatten_index',flip_array=False, )\r\n\r\nrng = np.random.default_rng()\r\n\r\nc = (\r\n np.random.randint(-127, 127, np.prod(s := (140, 140, 140)), dtype=\"q\")\r\n .reshape(s)\r\n .astype(\"q\")\r\n)\r\n\r\ndtypes = [\r\n \"i\",\r\n \"l\",\r\n \"L\",\r\n \"I\",\r\n \"b\",\r\n \"B\",\r\n \"h\",\r\n \"H\",\r\n \"q\",\r\n \"Q\",\r\n \"f\",\r\n \"d\",\r\n]\r\nimg = None\r\ntimeitnumber = 25\r\nresults = []\r\nfor dtype in dtypes:\r\n img = c.astype(dtype)\r\n results.append(img.dtype)\r\n results.append(\"-----------------ARGWHERE COMPARE <= --------\")\r\n eq = np_argwhere_values(\r\n img, search_for=20, operation=\"<=\", no_gil=False, flip_array=True\r\n )\r\n eq2 = np.argwhere(img <= 20)\r\n result1 = timeit.timeit(\r\n 'np_argwhere_values(img, search_for=20, operation=\"<=\", no_gil=False, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result2 = timeit.timeit(\r\n 'np_argwhere_values(img, search_for=20, operation=\"<=\", no_gil=True, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result3 = timeit.timeit(\r\n \"np.argwhere(img<=20)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n\r\n match = np.all(eq == eq2)\r\n results.append(\r\n f\"zig gil:{result1}\\nzig nogil: {result2}\\nnp: {result3}\\nmatch:{match}\\nshape:{np.asarray(eq).shape}\\ndtype:{img.dtype}\\n\"\r\n )\r\n results.append(\"-----------------ARGWHERE COMPARE >= --------\")\r\n eq = np_argwhere_values(\r\n img, search_for=100, operation=\">=\", no_gil=False, flip_array=True\r\n )\r\n eq2 = np.argwhere(img >= 100)\r\n result1 = timeit.timeit(\r\n 'np_argwhere_values(img, search_for=100, operation=\">=\", no_gil=False, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result2 = timeit.timeit(\r\n 'np_argwhere_values(img, search_for=100, operation=\">=\", no_gil=True, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result3 = timeit.timeit(\r\n \"np.argwhere(img>=100)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n\r\n match = np.all(eq == eq2)\r\n results.append(\r\n f\"zig gil:{result1}\\nzig nogil: {result2}\\nnp: {result3}\\nmatch:{match}\\nshape:{np.asarray(eq).shape}\\ndtype:{img.dtype}\\n\"\r\n )\r\n\r\n results.append(\"-----------------ARGWHERE COMPARE < --------\")\r\n eq = np_argwhere_values(\r\n img, search_for=20, operation=\"<\", no_gil=False, flip_array=True\r\n )\r\n eq2 = np.argwhere(img < 20)\r\n result1 = timeit.timeit(\r\n 'np_argwhere_values(img, search_for=20, operation=\"<\", no_gil=False, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result2 = timeit.timeit(\r\n 'np_argwhere_values(img, search_for=20, operation=\"<\", no_gil=True, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result3 = timeit.timeit(\r\n \"np.argwhere(img<20)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n\r\n match = np.all(eq == eq2)\r\n results.append(\r\n f\"zig gil:{result1}\\nzig nogil: {result2}\\nnp: {result3}\\nmatch:{match}\\nshape:{np.asarray(eq).shape}\\ndtype:{img.dtype}\\n\"\r\n )\r\n results.append(\"-----------------ARGWHERE COMPARE > --------\")\r\n eq = np_argwhere_values(\r\n img, search_for=100, operation=\">\", no_gil=False, flip_array=True\r\n )\r\n eq2 = np.argwhere(img > 100)\r\n result1 = timeit.timeit(\r\n 'np_argwhere_values(img, search_for=100, operation=\">\", no_gil=False, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result2 = timeit.timeit(\r\n 'np_argwhere_values(img, search_for=100, operation=\">\", no_gil=True, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result3 = timeit.timeit(\r\n \"np.argwhere(img>100)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n\r\n match = np.all(eq == eq2)\r\n results.append(\r\n f\"zig gil:{result1}\\nzig nogil: {result2}\\nnp: {result3}\\nmatch:{match}\\nshape:{np.asarray(eq).shape}\\ndtype:{img.dtype}\\n\"\r\n )\r\n results.append(\"-----------------ARGWHERE COMPARE == --------\")\r\n eq = np_argwhere_values(\r\n img, search_for=100, operation=\"==\", no_gil=False, flip_array=True\r\n )\r\n eq2 = np.argwhere(img == 100)\r\n result1 = timeit.timeit(\r\n 'np_argwhere_values(img, search_for=100, operation=\"==\", no_gil=False, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result2 = timeit.timeit(\r\n 'np_argwhere_values(img, search_for=100, operation=\"==\", no_gil=True, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result3 = timeit.timeit(\r\n \"np.argwhere(img==100)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n\r\n match = np.all(eq == eq2)\r\n results.append(\r\n f\"zig gil:{result1}\\nzig nogil: {result2}\\nnp: {result3}\\nmatch:{match}\\nshape:{np.asarray(eq).shape}\\ndtype:{img.dtype}\\n\"\r\n )\r\n results.append(\"-----------------where where - BOOL == --------------------\")\r\n eq = np_where_bool(\r\n (img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100),\r\n no_gil=False,\r\n flip_array=True,\r\n )\r\n eq2 = np.where((img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100))\r\n result1 = timeit.timeit(\r\n \"np_where_bool(((img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100)), no_gil=False,flip_array=True)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result2 = timeit.timeit(\r\n \"np_where_bool(((img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100)), no_gil=True,flip_array=True)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result3 = timeit.timeit(\r\n \"np.where((img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100))\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n\r\n match = np.all(np.asarray(eq) == np.asarray(eq2))\r\n\r\n results.append(\r\n f\"zig gil:{result1}\\nzig nogil: {result2}\\nnp: {result3}\\nmatch:{match}\\nshape:{np.asarray(eq).shape}\\ndtype:{img.dtype}\\n------------\"\r\n )\r\n\r\n results.append(\"-----------------where ARGWHERE - BOOL >= --------\")\r\n eq = np_argwhere_bool(\r\n (img[..., 0] >= 100) & (img[..., 1] >= 100) & (img[..., 2] >= 100),\r\n no_gil=False,\r\n flip_array=True,\r\n )\r\n eq2 = np.argwhere(\r\n (img[..., 0] >= 100) & (img[..., 1] >= 100) & (img[..., 2] >= 100)\r\n )\r\n result1 = timeit.timeit(\r\n \"np_argwhere_bool(((img[..., 0] >= 100) & (img[..., 1] >= 100) & (img[..., 2] >= 100)), no_gil=False,flip_array=True)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result2 = timeit.timeit(\r\n \"np_argwhere_bool(((img[..., 0] >= 100) & (img[..., 1] >= 100) & (img[..., 2] >= 100)), no_gil=True,flip_array=True)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result3 = timeit.timeit(\r\n \"np.argwhere((img[..., 0] >= 100) & (img[..., 1] >= 100) & (img[..., 2] >= 100))\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n\r\n match = np.all(np.asarray(eq) >= np.asarray(eq2))\r\n\r\n results.append(\r\n f\"zig gil:{result1}\\nzig nogil: {result2}\\nnp: {result3}\\nmatch:{match}\\nshape:{np.asarray(eq).shape}\\ndtype:{img.dtype}\\n\"\r\n )\r\n\r\n results.append(\"-----------------where ARGWHERE - BOOL == --------\")\r\n eq = np_argwhere_bool(\r\n (img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100),\r\n no_gil=False,\r\n flip_array=True,\r\n )\r\n eq2 = np.argwhere(\r\n (img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100)\r\n )\r\n result1 = timeit.timeit(\r\n \"np_argwhere_bool(((img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100)), no_gil=False,flip_array=True)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result2 = timeit.timeit(\r\n \"np_argwhere_bool(((img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100)), no_gil=True,flip_array=True)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result3 = timeit.timeit(\r\n \"np.argwhere((img[..., 0] == 100) & (img[..., 1] == 100) & (img[..., 2] == 100))\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n\r\n match = np.all(np.asarray(eq) == np.asarray(eq2))\r\n\r\n results.append(\r\n f\"zig gil:{result1}\\nzig nogil: {result2}\\nnp: {result3}\\nmatch:{match}\\nshape:{np.asarray(eq).shape}\\ndtype:{img.dtype}\\n\"\r\n )\r\n\r\n results.append(\"-----------------where COMPARE <= --------\")\r\n eq = np_where_values(\r\n img, search_for=20, operation=\"<=\", no_gil=False, flip_array=True\r\n )\r\n eq2 = np.where(img <= 20)\r\n result1 = timeit.timeit(\r\n 'np_where_values(img, search_for=20, operation=\"<=\", no_gil=False, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result2 = timeit.timeit(\r\n 'np_where_values(img, search_for=20, operation=\"<=\", no_gil=True, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result3 = timeit.timeit(\r\n \"np.where(img<=20)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n\r\n match = np.all(np.asarray(eq) == np.asarray(eq2))\r\n\r\n results.append(\r\n f\"zig gil:{result1}\\nzig nogil: {result2}\\nnp: {result3}\\nmatch:{match}\\nshape:{np.asarray(eq).shape}\\ndtype:{img.dtype}\\n\"\r\n )\r\n results.append(\"-----------------where COMPARE >= --------\")\r\n eq = np_where_values(\r\n img, search_for=100, operation=\">=\", no_gil=False, flip_array=True\r\n )\r\n eq2 = np.where(img >= 100)\r\n result1 = timeit.timeit(\r\n 'np_where_values(img, search_for=100, operation=\">=\", no_gil=False, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result2 = timeit.timeit(\r\n 'np_where_values(img, search_for=100, operation=\">=\", no_gil=True, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result3 = timeit.timeit(\r\n \"np.where(img>=100)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n\r\n match = np.all(np.asarray(eq) == np.asarray(eq2))\r\n results.append(\r\n f\"zig gil:{result1}\\nzig nogil: {result2}\\nnp: {result3}\\nmatch:{match}\\nshape:{np.asarray(eq).shape}\\ndtype:{img.dtype}\\n\"\r\n )\r\n\r\n results.append(\"-----------------where COMPARE < --------\")\r\n eq = np_where_values(\r\n img, search_for=20, operation=\"<\", no_gil=False, flip_array=True\r\n )\r\n eq2 = np.where(img < 20)\r\n result1 = timeit.timeit(\r\n 'np_where_values(img, search_for=20, operation=\"<\", no_gil=False, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result2 = timeit.timeit(\r\n 'np_where_values(img, search_for=20, operation=\"<\", no_gil=True, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result3 = timeit.timeit(\r\n \"np.where(img<20)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n\r\n match = np.all(np.asarray(eq) == np.asarray(eq2))\r\n results.append(\r\n f\"zig gil:{result1}\\nzig nogil: {result2}\\nnp: {result3}\\nmatch:{match}\\nshape:{np.asarray(eq).shape}\\ndtype:{img.dtype}\\n\"\r\n )\r\n results.append(\"-----------------where COMPARE > --------\")\r\n eq = np_where_values(\r\n img, search_for=100, operation=\">\", no_gil=False, flip_array=True\r\n )\r\n eq2 = np.where(img > 100)\r\n result1 = timeit.timeit(\r\n 'np_where_values(img, search_for=100, operation=\">\", no_gil=False, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result2 = timeit.timeit(\r\n 'np_where_values(img, search_for=100, operation=\">\", no_gil=True, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result3 = timeit.timeit(\r\n \"np.where(img>100)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n\r\n match = np.all(np.asarray(eq) == np.asarray(eq2))\r\n results.append(\r\n f\"zig gil:{result1}\\nzig nogil: {result2}\\nnp: {result3}\\nmatch:{match}\\nshape:{np.asarray(eq).shape}\\ndtype:{img.dtype}\\n\"\r\n )\r\n results.append(\"-----------------where COMPARE == --------\")\r\n eq = np_where_values(\r\n img, search_for=100, operation=\"==\", no_gil=False, flip_array=True\r\n )\r\n eq2 = np.where(img == 100)\r\n result1 = timeit.timeit(\r\n 'np_where_values(img, search_for=100, operation=\"==\", no_gil=False, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result2 = timeit.timeit(\r\n 'np_where_values(img, search_for=100, operation=\"==\", no_gil=True, flip_array=True)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result3 = timeit.timeit(\r\n \"np.where(img==100)\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n\r\n match = np.all(np.asarray(eq) == np.asarray(eq2))\r\n results.append(\r\n f\"zig gil:{result1}\\nzig nogil: {result2}\\nnp: {result3}\\nmatch:{match}\\nshape:{np.asarray(eq).shape}\\ndtype:{img.dtype}\\n\"\r\n )\r\n\r\n results.append(\"-----------------BOOL COMPARE--------\")\r\n eq = npwhere_bool_compare(img, search_for=100, operation=\"==\", no_gil=False)\r\n eq2 = img == 100\r\n result1 = timeit.timeit(\r\n 'npwhere_bool_compare(img, search_for=100, operation=\"==\", no_gil=False,)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result2 = timeit.timeit(\r\n 'npwhere_bool_compare(img, search_for=100, operation=\"==\", no_gil=True,)',\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n result3 = timeit.timeit(\r\n \"img==100\",\r\n number=timeitnumber,\r\n globals=globals(),\r\n )\r\n match = np.all(eq == eq2)\r\n results.append(\r\n f\"zig gil:{result1}\\nzig nogil: {result2}\\nnp: {result3}\\nmatch:{match}\\nshape:{np.asarray(eq).shape}\\ndtype:{img.dtype}\\n\"\r\n )\r\n\r\n\r\nwith open(\"c:\\\\testzig.txt\", mode=\"w\", encoding=\"utf-8\") as f:\r\n f.write(\"\\n\".join([str(q) for q in results]))\r\n \r\n \r\n\r\n\r\nint32\r\n-----------------ARGWHERE COMPARE <= --------\r\nzig gil:1.0453643000000739\r\nzig nogil: 1.0393527000051108\r\nnp: 1.0445317999983672\r\nmatch:True\r\nshape:(1598124, 3)\r\ndtype:int32\r\n\r\n-----------------ARGWHERE COMPARE >= --------\r\nzig gil:0.24228240000229562\r\nzig nogil: 0.2643610000013723\r\nnp: 0.40769609999551903\r\nmatch:True\r\nshape:(292205, 3)\r\ndtype:int32\r\n\r\n-----------------ARGWHERE COMPARE < --------\r\nzig gil:1.1265876999968896\r\nzig nogil: 1.0275963000021875\r\nnp: 1.047081500000786\r\nmatch:True\r\nshape:(1587310, 3)\r\ndtype:int32\r\n\r\n-----------------ARGWHERE COMPARE > --------\r\nzig gil:0.23478349999641068\r\nzig nogil: 0.2322511000020313\r\nnp: 0.36827120000089053\r\nmatch:True\r\nshape:(281390, 3)\r\ndtype:int32\r\n\r\n-----------------ARGWHERE COMPARE == --------\r\nzig gil:0.03906589999678545\r\nzig nogil: 0.04275030000280822\r\nnp: 0.2073759999984759\r\nmatch:True\r\nshape:(10815, 3)\r\ndtype:int32\r\n\r\n-----------------where where - BOOL == --------------------\r\nzig gil:0.005037599999923259\r\nzig nogil: 0.004561000001558568\r\nnp: 0.005418699998699594\r\nmatch:True\r\nshape:(2, 0)\r\ndtype:int32\r\n------------\r\n-----------------where ARGWHERE - BOOL >= --------\r\nzig gil:0.004978300006769132\r\nzig nogil: 0.004731600005470682\r\nnp: 0.006458099996962119\r\nmatch:True\r\nshape:(27, 2)\r\ndtype:int32\r\n\r\n-----------------where ARGWHERE - BOOL == --------\r\nzig gil:0.004904999994323589\r\nzig nogil: 0.004452599998330697\r\nnp: 0.005015900002035778\r\nmatch:True\r\nshape:(0, 2)\r\ndtype:int32\r\n\r\n-----------------where COMPARE <= --------\r\nzig gil:1.0521731999979238\r\nzig nogil: 1.0631141000048956\r\nnp: 0.6707173000031617\r\nmatch:True\r\nshape:(3, 1598124)\r\ndtype:int32\r\n\r\n-----------------where COMPARE >= --------\r\nzig gil:0.2441543000022648\r\nzig nogil: 0.24308600000222214\r\nnp: 0.3046978999991552\r\nmatch:True\r\nshape:(3, 292205)\r\ndtype:int32\r\n\r\n-----------------where COMPARE < --------\r\nzig gil:1.0931373999992502\r\nzig nogil: 1.1720722000027308\r\nnp: 0.7051255000042147\r\nmatch:True\r\nshape:(3, 1587310)\r\ndtype:int32\r\n\r\n-----------------where COMPARE > --------\r\nzig gil:0.3539267999949516\r\nzig nogil: 0.27942780000012135\r\nnp: 0.30127879999781726\r\nmatch:True\r\nshape:(3, 281390)\r\ndtype:int32\r\n\r\n-----------------where COMPARE == --------\r\nzig gil:0.040829200006555766\r\nzig nogil: 0.03826119999575894\r\nnp: 0.20059480000054464\r\nmatch:True\r\nshape:(3, 10815)\r\ndtype:int32\r\n\r\n-----------------BOOL COMPARE--------\r\nzig gil:0.05405780000000959\r\nzig nogil: 0.050152099996921606\r\nnp: 0.037745000001450535\r\nmatch:True\r\nshape:(140, 140, 140)\r\ndtype:int32\r\n\r\nint32\r\n-----------------ARGWHERE COMPARE <= --------\r\nzig gil:1.0762249000035808\r\nzig nogil: 1.0890843000015593\r\nnp: 1.077813600000809\r\nmatch:True\r\nshape:(1598124, 3)\r\ndtype:int32\r\n\r\n-----------------ARGWHERE COMPARE >= --------\r\nzig gil:0.2510666999951354\r\nzig nogil: 0.2522596999988309\r\nnp: 0.4065296000044327\r\nmatch:True\r\nshape:(292205, 3)\r\ndtype:int32\r\n\r\n-----------------ARGWHERE COMPARE < --------\r\nzig gil:1.1278104999946663\r\nzig nogil: 1.2096862999969744\r\nnp: 1.1818012000003364\r\nmatch:True\r\nshape:(1587310, 3)\r\ndtype:int32\r\n\r\n-----------------ARGWHERE COMPARE > --------\r\nzig gil:0.24403650000022026\r\nzig nogil: 0.24818120000418276\r\nnp: 0.3742421999995713\r\nmatch:True\r\nshape:(281390, 3)\r\ndtype:int32\r\n\r\n-----------------ARGWHERE COMPARE == --------\r\nzig gil:0.03759559999889461\r\nzig nogil: 0.03813069999887375\r\nnp: 0.20157189999736147\r\nmatch:True\r\nshape:(10815, 3)\r\ndtype:int32\r\n\r\n-----------------where where - BOOL == --------------------\r\nzig gil:0.005644299999403302\r\nzig nogil: 0.004658300000301097\r\nnp: 0.0042245000004186295\r\nmatch:True\r\nshape:(2, 0)\r\ndtype:int32\r\n------------\r\n-----------------where ARGWHERE - BOOL >= --------\r\nzig gil:0.006674700001894962\r\nzig nogil: 0.004357899997557979\r\nnp: 0.0042458999960217625\r\nmatch:True\r\nshape:(27, 2)\r\ndtype:int32\r\n\r\n-----------------where ARGWHERE - BOOL == --------\r\nzig gil:0.004734499998448882\r\nzig nogil: 0.004520599999523256\r\nnp: 0.004316799997468479\r\nmatch:True\r\nshape:(0, 2)\r\ndtype:int32\r\n\r\n-----------------where COMPARE <= --------\r\nzig gil:1.108021899999585\r\nzig nogil: 1.1879577999934554\r\nnp: 0.705058800005645\r\nmatch:True\r\nshape:(3, 1598124)\r\ndtype:int32\r\n\r\n-----------------where COMPARE >= --------\r\nzig gil:0.26749820000259206\r\nzig nogil: 0.2739512999978615\r\nnp: 0.324334999997518\r\nmatch:True\r\nshape:(3, 292205)\r\ndtype:int32\r\n\r\n-----------------where COMPARE < --------\r\nzig gil:1.2806244999956107\r\nzig nogil: 1.1645591000051354\r\nnp: 0.7103519000011147\r\nmatch:True\r\nshape:(3, 1587310)\r\ndtype:int32\r\n\r\n-----------------where COMPARE > --------\r\nzig gil:0.24668299999757437\r\nzig nogil: 0.24255669999547536\r\nnp: 0.30934260000503855\r\nmatch:True\r\nshape:(3, 281390)\r\ndtype:int32\r\n\r\n-----------------where COMPARE == --------\r\nzig gil:0.040019699998083524\r\nzig nogil: 0.04294820000359323\r\nnp: 0.19780349999928148\r\nmatch:True\r\nshape:(3, 10815)\r\ndtype:int32\r\n\r\n-----------------BOOL COMPARE--------\r\nzig gil:0.04581770000368124\r\nzig nogil: 0.05184490000101505\r\nnp: 0.031176899996353313\r\nmatch:True\r\nshape:(140, 140, 140)\r\ndtype:int32\r\n\r\nuint32\r\n-----------------ARGWHERE COMPARE <= --------\r\nzig gil:0.1964540000044508\r\nzig nogil: 0.1941627000051085\r\nnp: 0.3488498000006075\r\nmatch:True\r\nshape:(226903, 3)\r\ndtype:uint32\r\n\r\n-----------------ARGWHERE COMPARE >= --------\r\nzig gil:1.1061921000000439\r\nzig nogil: 1.1069925999981933\r\nnp: 1.093210300001374\r\nmatch:True\r\nshape:(1663426, 3)\r\ndtype:uint32\r\n\r\n-----------------ARGWHERE COMPARE < --------\r\nzig gil:0.18653590000030817\r\nzig nogil: 0.1908155999990413\r\nnp: 0.32847530000435654\r\nmatch:True\r\nshape:(216089, 3)\r\ndtype:uint32\r\n\r\n-----------------ARGWHERE COMPARE > --------\r\nzig gil:1.1222268999990774\r\nzig nogil: 1.1503158999985317\r\nnp: 1.1948583999983384\r\nmatch:True\r\nshape:(1652611, 3)\r\ndtype:uint32\r\n\r\n-----------------ARGWHERE COMPARE == --------\r\nzig gil:0.053662899998016655\r\nzig nogil: 0.040343500004382804\r\nnp: 0.19921169999724953\r\nmatch:True\r\nshape:(10815, 3)\r\ndtype:uint32\r\n\r\n-----------------where where - BOOL == --------------------\r\nzig gil:0.004857699997955933\r\nzig nogil: 0.0046355000013136305\r\nnp: 0.0061847999968449585\r\nmatch:True\r\nshape:(2, 0)\r\ndtype:uint32\r\n------------\r\n-----------------where ARGWHERE - BOOL >= --------\r\nzig gil:0.007213299999420997\r\nzig nogil: 0.009092500004044268\r\nnp: 0.005732899997383356\r\nmatch:True\r\nshape:(4322, 2)\r\ndtype:uint32\r\n\r\n-----------------where ARGWHERE - BOOL == --------\r\nzig gil:0.004360200000519399\r\nzig nogil: 0.005485599998792168\r\nnp: 0.004490599996643141\r\nmatch:True\r\nshape:(0, 2)\r\ndtype:uint32\r\n\r\n-----------------where COMPARE <= --------\r\nzig gil:0.2235962000049767\r\nzig nogil: 0.21312630000466015\r\nnp: 0.27629609999712557\r\nmatch:True\r\nshape:(3, 226903)\r\ndtype:uint32\r\n\r\n-----------------where COMPARE >= --------\r\nzig gil:1.1485383999970509\r\nzig nogil: 1.1657611999980872\r\nnp: 0.6966458999959286\r\nmatch:True\r\nshape:(3, 1663426)\r\ndtype:uint32\r\n\r\n-----------------where COMPARE < --------\r\nzig gil:0.19705070000054548\r\nzig nogil: 0.20952780000516213\r\nnp: 0.27919209999527084\r\nmatch:True\r\nshape:(3, 216089)\r\ndtype:uint32\r\n\r\n-----------------where COMPARE > --------\r\nzig gil:1.124366000003647\r\nzig nogil: 1.1337993999986793\r\nnp: 0.6802123000015854\r\nmatch:True\r\nshape:(3, 1652611)\r\ndtype:uint32\r\n\r\n-----------------where COMPARE == --------\r\nzig gil:0.04778169999917736\r\nzig nogil: 0.03732649999437854\r\nnp: 0.19193559999985155\r\nmatch:True\r\nshape:(3, 10815)\r\ndtype:uint32\r\n\r\n-----------------BOOL COMPARE--------\r\nzig gil:0.04572869999537943\r\nzig nogil: 0.04543019999982789\r\nnp: 0.030963299999712035\r\nmatch:True\r\nshape:(140, 140, 140)\r\ndtype:uint32\r\n\r\nuint32\r\n-----------------ARGWHERE COMPARE <= --------\r\nzig gil:0.19627439999749186\r\nzig nogil: 0.19589229999837698\r\nnp: 0.3332848999998532\r\nmatch:True\r\nshape:(226903, 3)\r\ndtype:uint32\r\n\r\n-----------------ARGWHERE COMPARE >= --------\r\nzig gil:1.0832141999999294\r\nzig nogil: 1.0849001999959\r\nnp: 1.081186000003072\r\nmatch:True\r\nshape:(1663426, 3)\r\ndtype:uint32\r\n\r\n-----------------ARGWHERE COMPARE < --------\r\nzig gil:0.18808019999414682\r\nzig nogil: 0.19334499999968102\r\nnp: 0.3290424000006169\r\nmatch:True\r\nshape:(216089, 3)\r\ndtype:uint32\r\n\r\n-----------------ARGWHERE COMPARE > --------\r\nzig gil:1.1011921000026632\r\nzig nogil: 1.1097324000002118\r\nnp: 1.0838006999983918\r\nmatch:True\r\nshape:(1652611, 3)\r\ndtype:uint32\r\n\r\n-----------------ARGWHERE COMPARE == --------\r\nzig gil:0.03672519999963697\r\nzig nogil: 0.03830019999440992\r\nnp: 0.20361289999709697\r\nmatch:True\r\nshape:(10815, 3)\r\ndtype:uint32\r\n\r\n-----------------where where - BOOL == --------------------\r\nzig gil:0.004443900004844181\r\nzig nogil: 0.0061150999972596765\r\nnp: 0.005197799997404218\r\nmatch:True\r\nshape:(2, 0)\r\ndtype:uint32\r\n------------\r\n-----------------where ARGWHERE - BOOL >= --------\r\nzig gil:0.006627000002481509\r\nzig nogil: 0.0082336999985273\r\nnp: 0.006118099998275284\r\nmatch:True\r\nshape:(4322, 2)\r\ndtype:uint32\r\n\r\n-----------------where ARGWHERE - BOOL == --------\r\nzig gil:0.00517519999993965\r\nzig nogil: 0.0042538999987300485\r\nnp: 0.00521380000282079\r\nmatch:True\r\nshape:(0, 2)\r\ndtype:uint32\r\n\r\n-----------------where COMPARE <= --------\r\nzig gil:0.2075191000039922\r\nzig nogil: 0.2090083999937633\r\nnp: 0.2759799999985262\r\nmatch:True\r\nshape:(3, 226903)\r\ndtype:uint32\r\n\r\n-----------------where COMPARE >= --------\r\nzig gil:1.1299867999987327\r\nzig nogil: 1.121614400006365\r\nnp: 0.6980842000048142\r\nmatch:True\r\nshape:(3, 1663426)\r\ndtype:uint32\r\n\r\n-----------------where COMPARE < --------\r\nzig gil:0.19274900000164052\r\nzig nogil: 0.19373300000006566\r\nnp: 0.2737632999997004\r\nmatch:True\r\nshape:(3, 216089)\r\ndtype:uint32\r\n\r\n-----------------where COMPARE > --------\r\nzig gil:1.1311681000006502\r\nzig nogil: 1.1230463000028976\r\nnp: 0.7220444999984466\r\nmatch:True\r\nshape:(3, 1652611)\r\ndtype:uint32\r\n\r\n-----------------where COMPARE == --------\r\nzig gil:0.04169489999912912\r\nzig nogil: 0.040411899994069245\r\nnp: 0.21216659999481635\r\nmatch:True\r\nshape:(3, 10815)\r\ndtype:uint32\r\n\r\n-----------------BOOL COMPARE--------\r\nzig gil:0.060149699995236006\r\nzig nogil: 0.049082600002293475\r\nnp: 0.036286399998061825\r\nmatch:True\r\nshape:(140, 140, 140)\r\ndtype:uint32\r\n\r\nint8\r\n-----------------ARGWHERE COMPARE <= --------\r\nzig gil:1.1552793999944697\r\nzig nogil: 1.136502000001201\r\nnp: 1.131550199999765\r\nmatch:True\r\nshape:(1598124, 3)\r\ndtype:int8\r\n\r\n-----------------ARGWHERE COMPARE >= --------\r\nzig gil:0.23353389999829233\r\nzig nogil: 0.22887740000442136\r\nnp: 0.35271730000386015\r\nmatch:True\r\nshape:(292205, 3)\r\ndtype:int8\r\n\r\n-----------------ARGWHERE COMPARE < --------\r\nzig gil:1.045492599994759\r\nzig nogil: 1.0624449999959324\r\nnp: 1.0365001000027405\r\nmatch:True\r\nshape:(1587310, 3)\r\ndtype:int8\r\n\r\n-----------------ARGWHERE COMPARE > --------\r\nzig gil:0.22238500000094064\r\nzig nogil: 0.2210274999961257\r\nnp: 0.34771630000614095\r\nmatch:True\r\nshape:(281390, 3)\r\ndtype:int8\r\n\r\n-----------------ARGWHERE COMPARE == --------\r\nzig gil:0.03402199999982258\r\nzig nogil: 0.0346715999985463\r\nnp: 0.1815255999972578\r\nmatch:True\r\nshape:(10815, 3)\r\ndtype:int8\r\n\r\n-----------------where where - BOOL == --------------------\r\nzig gil:0.0036173999978927895\r\nzig nogil: 0.0035343999988981523\r\nnp: 0.004212699997879099\r\nmatch:True\r\nshape:(2, 0)\r\ndtype:int8\r\n------------\r\n-----------------where ARGWHERE - BOOL >= --------\r\nzig gil:0.004141199999139644\r\nzig nogil: 0.0032799999971757643\r\nnp: 0.003482599997369107\r\nmatch:True\r\nshape:(27, 2)\r\ndtype:int8\r\n\r\n-----------------where ARGWHERE - BOOL == --------\r\nzig gil:0.003966500000387896\r\nzig nogil: 0.0035234999959357083\r\nnp: 0.0036605999994208105\r\nmatch:True\r\nshape:(0, 2)\r\ndtype:int8\r\n\r\n-----------------where COMPARE <= --------\r\nzig gil:1.0750041999999667\r\nzig nogil: 1.1085418000002392\r\nnp: 0.6818615999945905\r\nmatch:True\r\nshape:(3, 1598124)\r\ndtype:int8\r\n\r\n-----------------where COMPARE >= --------\r\nzig gil:0.28743199999735225\r\nzig nogil: 0.29690140000457177\r\nnp: 0.3008990999951493\r\nmatch:True\r\nshape:(3, 292205)\r\ndtype:int8\r\n\r\n-----------------where COMPARE < --------\r\nzig gil:1.192170599999372\r\nzig nogil: 1.1204495999991195\r\nnp: 0.6612194000044838\r\nmatch:True\r\nshape:(3, 1587310)\r\ndtype:int8\r\n\r\n-----------------where COMPARE > --------\r\nzig gil:0.2413481999974465\r\nzig nogil: 0.24648419999721227\r\nnp: 0.2772222999992664\r\nmatch:True\r\nshape:(3, 281390)\r\ndtype:int8\r\n\r\n-----------------where COMPARE == --------\r\nzig gil:0.033440899998822715\r\nzig nogil: 0.03384809999988647\r\nnp: 0.18103819999669213\r\nmatch:True\r\nshape:(3, 10815)\r\ndtype:int8\r\n\r\n-----------------BOOL COMPARE--------\r\nzig gil:0.036112000001594424\r\nzig nogil: 0.03489059999992605\r\nnp: 0.017571399999724235\r\nmatch:True\r\nshape:(140, 140, 140)\r\ndtype:int8\r\n\r\nuint8\r\n-----------------ARGWHERE COMPARE <= --------\r\nzig gil:0.1841375000003609\r\nzig nogil: 0.17526969999744324\r\nnp: 0.32225569999718573\r\nmatch:True\r\nshape:(226903, 3)\r\ndtype:uint8\r\n\r\n-----------------ARGWHERE COMPARE >= --------\r\nzig gil:1.1261682999975164\r\nzig nogil: 1.102965400001267\r\nnp: 1.0529635999992024\r\nmatch:True\r\nshape:(1663426, 3)\r\ndtype:uint8\r\n\r\n-----------------ARGWHERE COMPARE < --------\r\nzig gil:0.17155259999708505\r\nzig nogil: 0.1772997000007308\r\nnp: 0.30076009999902453\r\nmatch:True\r\nshape:(216089, 3)\r\ndtype:uint8\r\n\r\n-----------------ARGWHERE COMPARE > --------\r\nzig gil:1.0456674999950337\r\nzig nogil: 1.0428499000045122\r\nnp: 1.0483550999997533\r\nmatch:True\r\nshape:(1652611, 3)\r\ndtype:uint8\r\n\r\n-----------------ARGWHERE COMPARE == --------\r\nzig gil:0.03318550000403775\r\nzig nogil: 0.03296289999707369\r\nnp: 0.1813481999997748\r\nmatch:True\r\nshape:(10815, 3)\r\ndtype:uint8\r\n\r\n-----------------where where - BOOL == --------------------\r\nzig gil:0.004021299995656591\r\nzig nogil: 0.005225500004598871\r\nnp: 0.003259999997681007\r\nmatch:True\r\nshape:(2, 0)\r\ndtype:uint8\r\n------------\r\n-----------------where ARGWHERE - BOOL >= --------\r\nzig gil:0.0053369000015663914\r\nzig nogil: 0.005747600000177044\r\nnp: 0.004954799995175563\r\nmatch:True\r\nshape:(4322, 2)\r\ndtype:uint8\r\n\r\n-----------------where ARGWHERE - BOOL == --------\r\nzig gil:0.0032759000023361295\r\nzig nogil: 0.0032291999959852546\r\nnp: 0.0048240999967674725\r\nmatch:True\r\nshape:(0, 2)\r\ndtype:uint8\r\n\r\n-----------------where COMPARE <= --------\r\nzig gil:0.17913739999494283\r\nzig nogil: 0.185414600004151\r\nnp: 0.2567559000017354\r\nmatch:True\r\nshape:(3, 226903)\r\ndtype:uint8\r\n\r\n-----------------where COMPARE >= --------\r\nzig gil:1.0847398000041721\r\nzig nogil: 1.0835549999974319\r\nnp: 0.6494327999971574\r\nmatch:True\r\nshape:(3, 1663426)\r\ndtype:uint8\r\n\r\n-----------------where COMPARE < --------\r\nzig gil:0.1874753000010969\r\nzig nogil: 0.18116120000195224\r\nnp: 0.25421160000405507\r\nmatch:True\r\nshape:(3, 216089)\r\ndtype:uint8\r\n\r\n-----------------where COMPARE > --------\r\nzig gil:1.0855102999994415\r\nzig nogil: 1.0863974000021699\r\nnp: 0.6495221000004676\r\nmatch:True\r\nshape:(3, 1652611)\r\ndtype:uint8\r\n\r\n-----------------where COMPARE == --------\r\nzig gil:0.03325779999431688\r\nzig nogil: 0.03255599999829428\r\nnp: 0.17988780000450788\r\nmatch:True\r\nshape:(3, 10815)\r\ndtype:uint8\r\n\r\n-----------------BOOL COMPARE--------\r\nzig gil:0.035717500002647284\r\nzig nogil: 0.03531300000031479\r\nnp: 0.016562900003918912\r\nmatch:True\r\nshape:(140, 140, 140)\r\ndtype:uint8\r\n\r\nint16\r\n-----------------ARGWHERE COMPARE <= --------\r\nzig gil:1.02951299999404\r\nzig nogil: 1.0302740999977686\r\nnp: 1.038085799998953\r\nmatch:True\r\nshape:(1598124, 3)\r\ndtype:int16\r\n\r\n-----------------ARGWHERE COMPARE >= --------\r\nzig gil:0.22520589999476215\r\nzig nogil: 0.2262964000037755\r\nnp: 0.35299749999830965\r\nmatch:True\r\nshape:(292205, 3)\r\ndtype:int16\r\n\r\n-----------------ARGWHERE COMPARE < --------\r\nzig gil:1.0235202000039862\r\nzig nogil: 1.0141824000020279\r\nnp: 1.0226949999996577\r\nmatch:True\r\nshape:(1587310, 3)\r\ndtype:int16\r\n\r\n-----------------ARGWHERE COMPARE > --------\r\nzig gil:0.2226516000009724\r\nzig nogil: 0.21719869999651564\r\nnp: 0.34484990000055404\r\nmatch:True\r\nshape:(281390, 3)\r\ndtype:int16\r\n\r\n-----------------ARGWHERE COMPARE == --------\r\nzig gil:0.035233599999628495\r\nzig nogil: 0.03535639999608975\r\nnp: 0.18344020000222372\r\nmatch:True\r\nshape:(10815, 3)\r\ndtype:int16\r\n\r\n-----------------where where - BOOL == --------------------\r\nzig gil:0.0040972999995574355\r\nzig nogil: 0.003868300002068281\r\nnp: 0.004501799994613975\r\nmatch:True\r\nshape:(2, 0)\r\ndtype:int16\r\n------------\r\n-----------------where ARGWHERE - BOOL >= --------\r\nzig gil:0.003886200000124518\r\nzig nogil: 0.0037716000006184913\r\nnp: 0.0039558999997098\r\nmatch:True\r\nshape:(27, 2)\r\ndtype:int16\r\n\r\n-----------------where ARGWHERE - BOOL == --------\r\nzig gil:0.004257799999322742\r\nzig nogil: 0.00396329999784939\r\nnp: 0.0039020000040181912\r\nmatch:True\r\nshape:(0, 2)\r\ndtype:int16\r\n\r\n-----------------where COMPARE <= --------\r\nzig gil:1.060442999994848\r\nzig nogil: 1.0666022999939742\r\nnp: 0.6628538000004482\r\nmatch:True\r\nshape:(3, 1598124)\r\ndtype:int16\r\n\r\n-----------------where COMPARE >= --------\r\nzig gil:0.2330872000020463\r\nzig nogil: 0.23378719999891473\r\nnp: 0.28169049999996787\r\nmatch:True\r\nshape:(3, 292205)\r\ndtype:int16\r\n\r\n-----------------where COMPARE < --------\r\nzig gil:1.1094128000040655\r\nzig nogil: 1.0764696999976877\r\nnp: 0.674441700000898\r\nmatch:True\r\nshape:(3, 1587310)\r\ndtype:int16\r\n\r\n-----------------where COMPARE > --------\r\nzig gil:0.23369199999433476\r\nzig nogil: 0.2704968999969424\r\nnp: 0.28823389999888605\r\nmatch:True\r\nshape:(3, 281390)\r\ndtype:int16\r\n\r\n-----------------where COMPARE == --------\r\nzig gil:0.03506990000460064\r\nzig nogil: 0.035451299998385366\r\nnp: 0.1834231999964686\r\nmatch:True\r\nshape:(3, 10815)\r\ndtype:int16\r\n\r\n-----------------BOOL COMPARE--------\r\nzig gil:0.03780659999756608\r\nzig nogil: 0.03744340000412194\r\nnp: 0.0210466999997152\r\nmatch:True\r\nshape:(140, 140, 140)\r\ndtype:int16\r\n\r\nuint16\r\n-----------------ARGWHERE COMPARE <= --------\r\nzig gil:0.19080509999912465\r\nzig nogil: 0.1812366000012844\r\nnp: 0.3136149000056321\r\nmatch:True\r\nshape:(226903, 3)\r\ndtype:uint16\r\n\r\n-----------------ARGWHERE COMPARE >= --------\r\nzig gil:1.065713299998606\r\nzig nogil: 1.067334799998207\r\nnp: 1.3791226999965147\r\nmatch:True\r\nshape:(1663426, 3)\r\ndtype:uint16\r\n\r\n-----------------ARGWHERE COMPARE < --------\r\nzig gil:0.19583959999727085\r\nzig nogil: 0.20060609999927692\r\nnp: 0.33810860000085086\r\nmatch:True\r\nshape:(216089, 3)\r\ndtype:uint16\r\n\r\n-----------------ARGWHERE COMPARE > --------\r\nzig gil:1.1081005000014557\r\nzig nogil: 1.4316662999990513\r\nnp: 1.1140935000003083\r\nmatch:True\r\nshape:(1652611, 3)\r\ndtype:uint16\r\n\r\n-----------------ARGWHERE COMPARE == --------\r\nzig gil:0.03786680000484921\r\nzig nogil: 0.0359284000005573\r\nnp: 0.18754949999856763\r\nmatch:True\r\nshape:(10815, 3)\r\ndtype:uint16\r\n\r\n-----------------where where - BOOL == --------------------\r\nzig gil:0.004376500000944361\r\nzig nogil: 0.004639999999199063\r\nnp: 0.004106899999896996\r\nmatch:True\r\nshape:(2, 0)\r\ndtype:uint16\r\n------------\r\n-----------------where ARGWHERE - BOOL >= --------\r\nzig gil:0.007890200002293568\r\nzig nogil: 0.005994499995722435\r\nnp: 0.005285499995807186\r\nmatch:True\r\nshape:(4322, 2)\r\ndtype:uint16\r\n\r\n-----------------where ARGWHERE - BOOL == --------\r\nzig gil:0.005163199995877221\r\nzig nogil: 0.004107199994905386\r\nnp: 0.0043836999975610524\r\nmatch:True\r\nshape:(0, 2)\r\ndtype:uint16\r\n\r\n-----------------where COMPARE <= --------\r\nzig gil:0.21251679999841144\r\nzig nogil: 0.19768759999715257\r\nnp: 0.3138230000040494\r\nmatch:True\r\nshape:(3, 226903)\r\ndtype:uint16\r\n\r\n-----------------where COMPARE >= --------\r\nzig gil:1.1643614999993588\r\nzig nogil: 1.1388255999991088\r\nnp: 0.6697007000038866\r\nmatch:True\r\nshape:(3, 1663426)\r\ndtype:uint16\r\n\r\n-----------------where COMPARE < --------\r\nzig gil:0.1991718999997829\r\nzig nogil: 0.1961643999966327\r\nnp: 0.26244629999564495\r\nmatch:True\r\nshape:(3, 216089)\r\ndtype:uint16\r\n\r\n-----------------where COMPARE > --------\r\nzig gil:1.1065361000000848\r\nzig nogil: 1.1319065999996383\r\nnp: 0.6972595999977784\r\nmatch:True\r\nshape:(3, 1652611)\r\ndtype:uint16\r\n\r\n-----------------where COMPARE == --------\r\nzig gil:0.03863629999978002\r\nzig nogil: 0.03757469999982277\r\nnp: 0.18571700000029523\r\nmatch:True\r\nshape:(3, 10815)\r\ndtype:uint16\r\n\r\n-----------------BOOL COMPARE--------\r\nzig gil:0.04184079999686219\r\nzig nogil: 0.03974190000008093\r\nnp: 0.02256430000124965\r\nmatch:True\r\nshape:(140, 140, 140)\r\ndtype:uint16\r\n\r\nint64\r\n-----------------ARGWHERE COMPARE <= --------\r\nzig gil:1.0644711999993888\r\nzig nogil: 1.0812933999986853\r\nnp: 1.1308467000053497\r\nmatch:True\r\nshape:(1598124, 3)\r\ndtype:int64\r\n\r\n-----------------ARGWHERE COMPARE >= --------\r\nzig gil:0.2517588999980944\r\nzig nogil: 0.24914490000082878\r\nnp: 0.4183365000062622\r\nmatch:True\r\nshape:(292205, 3)\r\ndtype:int64\r\n\r\n-----------------ARGWHERE COMPARE < --------\r\nzig gil:1.0517617000004975\r\nzig nogil: 1.053249800002959\r\nnp: 1.0915187999999034\r\nmatch:True\r\nshape:(1587310, 3)\r\ndtype:int64\r\n\r\n-----------------ARGWHERE COMPARE > --------\r\nzig gil:0.2447424999991199\r\nzig nogil: 0.25284259999898495\r\nnp: 0.40370160000020405\r\nmatch:True\r\nshape:(281390, 3)\r\ndtype:int64\r\n\r\n-----------------ARGWHERE COMPARE == --------\r\nzig gil:0.04647990000376012\r\nzig nogil: 0.04556880000018282\r\nnp: 0.21837200000300072\r\nmatch:True\r\nshape:(10815, 3)\r\ndtype:int64\r\n\r\n-----------------where where - BOOL == --------------------\r\nzig gil:0.005038000002969056\r\nzig nogil: 0.006453299996792339\r\nnp: 0.004466200000024401\r\nmatch:True\r\nshape:(2, 0)\r\ndtype:int64\r\n------------\r\n-----------------where ARGWHERE - BOOL >= --------\r\nzig gil:0.0046072000041021965\r\nzig nogil: 0.006313799996860325\r\nnp: 0.005172299999685492\r\nmatch:True\r\nshape:(27, 2)\r\ndtype:int64\r\n\r\n-----------------where ARGWHERE - BOOL == --------\r\nzig gil:0.005666999997629318\r\nzig nogil: 0.005621099997370038\r\nnp: 0.004639600003429223\r\nmatch:True\r\nshape:(0, 2)\r\ndtype:int64\r\n\r\n-----------------where COMPARE <= --------\r\nzig gil:1.214637600001879\r\nzig nogil: 1.2273935999983223\r\nnp: 0.7188212999972166\r\nmatch:True\r\nshape:(3, 1598124)\r\ndtype:int64\r\n\r\n-----------------where COMPARE >= --------\r\nzig gil:0.2549092999979621\r\nzig nogil: 0.25533720000385074\r\nnp: 0.3293273999952362\r\nmatch:True\r\nshape:(3, 292205)\r\ndtype:int64\r\n\r\n-----------------where COMPARE < --------\r\nzig gil:1.0980450000060955\r\nzig nogil: 1.1495428000052925\r\nnp: 0.6986237999954028\r\nmatch:True\r\nshape:(3, 1587310)\r\ndtype:int64\r\n\r\n-----------------where COMPARE > --------\r\nzig gil:0.2518443000008119\r\nzig nogil: 0.24268490000395104\r\nnp: 0.3220748999956413\r\nmatch:True\r\nshape:(3, 281390)\r\ndtype:int64\r\n\r\n-----------------where COMPARE == --------\r\nzig gil:0.04951040000014473\r\nzig nogil: 0.04426010000315728\r\nnp: 0.21088589999999385\r\nmatch:True\r\nshape:(3, 10815)\r\ndtype:int64\r\n\r\n-----------------BOOL COMPARE--------\r\nzig gil:0.06031230000371579\r\nzig nogil: 0.06050829999730922\r\nnp: 0.05139799999597017\r\nmatch:True\r\nshape:(140, 140, 140)\r\ndtype:int64\r\n\r\nuint64\r\n-----------------ARGWHERE COMPARE <= --------\r\nzig gil:0.20893680000153836\r\nzig nogil: 0.2036004999972647\r\nnp: 0.3594602999946801\r\nmatch:True\r\nshape:(226903, 3)\r\ndtype:uint64\r\n\r\n-----------------ARGWHERE COMPARE >= --------\r\nzig gil:1.0828016000014031\r\nzig nogil: 1.0631242000017664\r\nnp: 1.0808288999978686\r\nmatch:True\r\nshape:(1663426, 3)\r\ndtype:uint64\r\n\r\n-----------------ARGWHERE COMPARE < --------\r\nzig gil:0.1978582000010647\r\nzig nogil: 0.1927542000048561\r\nnp: 0.35142899999482324\r\nmatch:True\r\nshape:(216089, 3)\r\ndtype:uint64\r\n\r\n-----------------ARGWHERE COMPARE > --------\r\nzig gil:1.0459884000010788\r\nzig nogil: 1.0498370999994222\r\nnp: 1.0780140000060783\r\nmatch:True\r\nshape:(1652611, 3)\r\ndtype:uint64\r\n\r\n-----------------ARGWHERE COMPARE == --------\r\nzig gil:0.0439057000039611\r\nzig nogil: 0.04253980000066804\r\nnp: 0.2099106000023312\r\nmatch:True\r\nshape:(10815, 3)\r\ndtype:uint64\r\n\r\n-----------------where where - BOOL == --------------------\r\nzig gil:0.004622400003427174\r\nzig nogil: 0.005763400004070718\r\nnp: 0.004409799999848474\r\nmatch:True\r\nshape:(2, 0)\r\ndtype:uint64\r\n------------\r\n-----------------where ARGWHERE - BOOL >= --------\r\nzig gil:0.007892699999501929\r\nzig nogil: 0.0066026999993482605\r\nnp: 0.005884800004423596\r\nmatch:True\r\nshape:(4322, 2)\r\ndtype:uint64\r\n\r\n-----------------where ARGWHERE - BOOL == --------\r\nzig gil:0.005972199993266258\r\nzig nogil: 0.0049336000010953285\r\nnp: 0.004871200006164145\r\nmatch:True\r\nshape:(0, 2)\r\ndtype:uint64\r\n\r\n-----------------where COMPARE <= --------\r\nzig gil:0.21246489999612095\r\nzig nogil: 0.20566459999827202\r\nnp: 0.3349847999998019\r\nmatch:True\r\nshape:(3, 226903)\r\ndtype:uint64\r\n\r\n-----------------where COMPARE >= --------\r\nzig gil:1.0974528000006103\r\nzig nogil: 1.1057868999996572\r\nnp: 0.6933072000028915\r\nmatch:True\r\nshape:(3, 1663426)\r\ndtype:uint64\r\n\r\n-----------------where COMPARE < --------\r\nzig gil:0.19585250000091037\r\nzig nogil: 0.2244661000004271\r\nnp: 0.2922921999997925\r\nmatch:True\r\nshape:(3, 216089)\r\ndtype:uint64\r\n\r\n-----------------where COMPARE > --------\r\nzig gil:1.099598100001458\r\nzig nogil: 1.1080314999999246\r\nnp: 0.7005652000007103\r\nmatch:True\r\nshape:(3, 1652611)\r\ndtype:uint64\r\n\r\n-----------------where COMPARE == --------\r\nzig gil:0.043576699994446244\r\nzig nogil: 0.042915600002743304\r\nnp: 0.21026359999814304\r\nmatch:True\r\nshape:(3, 10815)\r\ndtype:uint64\r\n\r\n-----------------BOOL COMPARE--------\r\nzig gil:0.06685860000288812\r\nzig nogil: 0.07007519999751821\r\nnp: 0.05363699999725213\r\nmatch:True\r\nshape:(140, 140, 140)\r\ndtype:uint64\r\n\r\nfloat32\r\n-----------------ARGWHERE COMPARE <= --------\r\nzig gil:1.0293850000016391\r\nzig nogil: 1.0510993999996572\r\nnp: 1.0392023000022164\r\nmatch:True\r\nshape:(1598124, 3)\r\ndtype:float32\r\n\r\n-----------------ARGWHERE COMPARE >= --------\r\nzig gil:0.23745529999723658\r\nzig nogil: 0.24302510000416078\r\nnp: 0.3576503000003868\r\nmatch:True\r\nshape:(292205, 3)\r\ndtype:float32\r\n\r\n-----------------ARGWHERE COMPARE < --------\r\nzig gil:1.0341159999952652\r\nzig nogil: 1.0376395000057528\r\nnp: 1.0435389000049327\r\nmatch:True\r\nshape:(1587310, 3)\r\ndtype:float32\r\n\r\n-----------------ARGWHERE COMPARE > --------\r\nzig gil:0.23462470000231406\r\nzig nogil: 0.23231859999941662\r\nnp: 0.3542373000018415\r\nmatch:True\r\nshape:(281390, 3)\r\ndtype:float32\r\n\r\n-----------------ARGWHERE COMPARE == --------\r\nzig gil:0.03314200000022538\r\nzig nogil: 0.03299859999970067\r\nnp: 0.19556089999969117\r\nmatch:True\r\nshape:(10815, 3)\r\ndtype:float32\r\n\r\n-----------------where where - BOOL == --------------------\r\nzig gil:0.005372899999201763\r\nzig nogil: 0.005764900000940543\r\nnp: 0.005703800001356285\r\nmatch:True\r\nshape:(2, 0)\r\ndtype:float32\r\n------------\r\n-----------------where ARGWHERE - BOOL >= --------\r\nzig gil:0.0052397000035853125\r\nzig nogil: 0.007302000005438458\r\nnp: 0.005217300000367686\r\nmatch:True\r\nshape:(27, 2)\r\ndtype:float32\r\n\r\n-----------------where ARGWHERE - BOOL == --------\r\nzig gil:0.006024000002071261\r\nzig nogil: 0.0053046000030008145\r\nnp: 0.004995399998733774\r\nmatch:True\r\nshape:(0, 2)\r\ndtype:float32\r\n\r\n-----------------where COMPARE <= --------\r\nzig gil:1.0465098999993643\r\nzig nogil: 1.0979698000010103\r\nnp: 0.6823720000029425\r\nmatch:True\r\nshape:(3, 1598124)\r\ndtype:float32\r\n\r\n-----------------where COMPARE >= --------\r\nzig gil:0.24625799999921583\r\nzig nogil: 0.24437179999949876\r\nnp: 0.30550200000288896\r\nmatch:True\r\nshape:(3, 292205)\r\ndtype:float32\r\n\r\n-----------------where COMPARE < --------\r\nzig gil:1.0567613000021083\r\nzig nogil: 1.0672071000008145\r\nnp: 0.6560558000055607\r\nmatch:True\r\nshape:(3, 1587310)\r\ndtype:float32\r\n\r\n-----------------where COMPARE > --------\r\nzig gil:0.23791450000135228\r\nzig nogil: 0.23916550000285497\r\nnp: 0.29138899999816203\r\nmatch:True\r\nshape:(3, 281390)\r\ndtype:float32\r\n\r\n-----------------where COMPARE == --------\r\nzig gil:0.0328423999962979\r\nzig nogil: 0.032826999995450024\r\nnp: 0.19034929999907035\r\nmatch:True\r\nshape:(3, 10815)\r\ndtype:float32\r\n\r\n-----------------BOOL COMPARE--------\r\nzig gil:0.04899730000033742\r\nzig nogil: 0.0499880999996094\r\nnp: 0.027367599999706727\r\nmatch:True\r\nshape:(140, 140, 140)\r\ndtype:float32\r\n\r\nfloat64\r\n-----------------ARGWHERE COMPARE <= --------\r\nzig gil:1.0527567000026465\r\nzig nogil: 1.0702018000010867\r\nnp: 1.0655105000041658\r\nmatch:True\r\nshape:(1598124, 3)\r\ndtype:float64\r\n\r\n-----------------ARGWHERE COMPARE >= --------\r\nzig gil:0.24714550000499003\r\nzig nogil: 0.2622479999990901\r\nnp: 0.3725200999979279\r\nmatch:True\r\nshape:(292205, 3)\r\ndtype:float64\r\n\r\n-----------------ARGWHERE COMPARE < --------\r\nzig gil:1.0441196999963722\r\nzig nogil: 1.0507036000053631\r\nnp: 1.0560502000007546\r\nmatch:True\r\nshape:(1587310, 3)\r\ndtype:float64\r\n\r\n-----------------ARGWHERE COMPARE > --------\r\nzig gil:0.24077240000042366\r\nzig nogil: 0.26215989999764133\r\nnp: 0.3696628000034252\r\nmatch:True\r\nshape:(281390, 3)\r\ndtype:float64\r\n\r\n-----------------ARGWHERE COMPARE == --------\r\nzig gil:0.04775909999443684\r\nzig nogil: 0.04949290000513429\r\nnp: 0.20534539999789558\r\nmatch:True\r\nshape:(10815, 3)\r\ndtype:float64\r\n\r\n-----------------where where - BOOL == --------------------\r\nzig gil:0.005014900001697242\r\nzig nogil: 0.004667700006393716\r\nnp: 0.00470849999692291\r\nmatch:True\r\nshape:(2, 0)\r\ndtype:float64\r\n------------\r\n-----------------where ARGWHERE - BOOL >= --------\r\nzig gil:0.0049082000041380525\r\nzig nogil: 0.00476860000344459\r\nnp: 0.0046531999978469685\r\nmatch:True\r\nshape:(27, 2)\r\ndtype:float64\r\n\r\n-----------------where ARGWHERE - BOOL == --------\r\nzig gil:0.005391400001826696\r\nzig nogil: 0.005714799997804221\r\nnp: 0.005357599999115337\r\nmatch:True\r\nshape:(0, 2)\r\ndtype:float64\r\n\r\n-----------------where COMPARE <= --------\r\nzig gil:1.1030351000008523\r\nzig nogil: 1.0995989000002737\r\nnp: 0.6731149999977788\r\nmatch:True\r\nshape:(3, 1598124)\r\ndtype:float64\r\n\r\n-----------------where COMPARE >= --------\r\nzig gil:0.27416749999974854\r\nzig nogil: 0.2519438999952399\r\nnp: 0.3041400000001886\r\nmatch:True\r\nshape:(3, 292205)\r\ndtype:float64\r\n\r\n-----------------where COMPARE < --------\r\nzig gil:1.0691622000013012\r\nzig nogil: 1.10280739999871\r\nnp: 0.7120320000030915\r\nmatch:True\r\nshape:(3, 1587310)\r\ndtype:float64\r\n\r\n-----------------where COMPARE > --------\r\nzig gil:0.24791349999577506\r\nzig nogil: 0.2429545999984839\r\nnp: 0.3003030000036233\r\nmatch:True\r\nshape:(3, 281390)\r\ndtype:float64\r\n\r\n-----------------where COMPARE == --------\r\nzig gil:0.05101190000277711\r\nzig nogil: 0.05927199999860022\r\nnp: 0.21094230000016978\r\nmatch:True\r\nshape:(3, 10815)\r\ndtype:float64\r\n\r\n-----------------BOOL COMPARE--------\r\nzig gil:0.059391800001321826\r\nzig nogil: 0.06431609999708598\r\nnp: 0.042864600000029895\r\nmatch:True\r\nshape:(140, 140, 140)\r\ndtype:float64\r\n\r\n```\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Zig for Numpy",
"version": "0.11",
"project_urls": {
"Homepage": "https://github.com/hansalemaos/npzigloc"
},
"split_keywords": [
"zig",
" numpy"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0c8f2403d66ff7c4663f61eff6684e01093ada760e3b46870267f3bf2a4c7a39",
"md5": "841cf4b32beb934944a5757f06f4381d",
"sha256": "9797ba85eb10758a29c2c799a7fac3ecb9d06f7a9b090912af0b16b5c84984a6"
},
"downloads": -1,
"filename": "npzigloc-0.11-py3-none-any.whl",
"has_sig": false,
"md5_digest": "841cf4b32beb934944a5757f06f4381d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 43923,
"upload_time": "2024-09-09T09:06:55",
"upload_time_iso_8601": "2024-09-09T09:06:55.930902Z",
"url": "https://files.pythonhosted.org/packages/0c/8f/2403d66ff7c4663f61eff6684e01093ada760e3b46870267f3bf2a4c7a39/npzigloc-0.11-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "537b4540ad233315c3f974f6100041da7e1ab2d72f76351e09385988ba782b3b",
"md5": "1d523b9317f0bf4a2bd1d19fee594dc8",
"sha256": "374883eafa3130c99160a1727e504d5309ef757a703da2567b5338f780ad873a"
},
"downloads": -1,
"filename": "npzigloc-0.11.tar.gz",
"has_sig": false,
"md5_digest": "1d523b9317f0bf4a2bd1d19fee594dc8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 58188,
"upload_time": "2024-09-09T09:06:57",
"upload_time_iso_8601": "2024-09-09T09:06:57.397124Z",
"url": "https://files.pythonhosted.org/packages/53/7b/4540ad233315c3f974f6100041da7e1ab2d72f76351e09385988ba782b3b/npzigloc-0.11.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-09 09:06:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hansalemaos",
"github_project": "npzigloc",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "npzigloc"
}