Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

163
Views
¿Por qué numpy.view (bool) hace que numpy.logical_and sea significativamente más rápido?

Al pasar un numpy.ndarray de uint8 a numpy.logical_and , se ejecuta significativamente más rápido si aplico numpy.view(bool) a sus entradas.

 a = np.random.randint(0, 255, 1000 * 1000 * 100, dtype=np.uint8) b = np.random.randint(0, 255, 1000 * 1000 * 100, dtype=np.uint8) %timeit np.logical_and(a, b) 126 ms ± 1.17 ms per loop (mean ± std. dev. of 7 runs, 10 loops each) %timeit np.logical_and(a.view(bool), b.view(bool)) 20.9 ms ± 110 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)

¿Alguien puede explicar por qué sucede esto?

Además, ¿por qué numpy.logical_and no aplica automáticamente view(bool) a una matriz de uint8 ? (¿Hay alguna situación en la que no debamos usar view(bool) ?)

EDITAR:

Parece que este es un problema con el entorno de Windows. Acabo de intentar lo mismo en el contenedor docker oficial de python (que es debian) y no encontré ninguna diferencia entre ellos.

Mi entorno:

  • Sistema operativo: Windows 10 Pro 21H2
  • CPU: AMD Ryzen 9 5900X
  • Python: Python 3.10.2 (tags/v3.10.2:a58ebcc, 17 de enero de 2022, 14:12:15) [MSC v.1929 64 bit (AMD64)] en win32
  • numpy: 1.22.2
over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!