Fast lookup of bulky "table"
Dino
dino at no.spam.ar
Mon Jan 16 18:17:42 EST 2023
On 1/16/2023 1:18 PM, Edmondo Giovannozzi wrote:
>
> As a comparison with numpy. Given the following lines:
>
> import numpy as np
> a = np.random.randn(400,100_000)
> ia = np.argsort(a[0,:])
> a_elem = a[56, ia[0]]
>
> I have just taken an element randomly in a numeric table of 400x100000 elements
> To find it with numpy:
>
> %timeit isel = a == a_elem
> 35.5 ms ± 2.79 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
>
> And
> %timeit a[isel]
> 9.18 ms ± 371 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
>
> As data are not ordered it is searching it one by one but at C level.
> Of course it depends on a lot of thing...
thank you for this. It's probably my lack of experience with Numpy,
but... can you explain what is going on here in more detail?
Thank you
Dino
More information about the Python-list
mailing list