Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

166
Vistas
¿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
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda