Saltar al contenido principal
El perfilador de DataStore ayuda a medir el tiempo de ejecución e identificar cuellos de botella en el rendimiento.

Inicio rápido

Habilitar el perfilado


API del perfilador

Obtener el perfilador

report()

Muestra un informe de rendimiento.
Parámetros: Salida de ejemplo:
El informe muestra:
  • Duración en milisegundos de cada paso
  • Porcentaje del tiempo con respecto al padre/al total
  • Anidamiento jerárquico de operaciones
  • Metadatos de cada paso (p. ej., ops_count, ops)

step()

Mide manualmente el tiempo de ejecución de un bloque de código.

clear()

Elimina todos los datos de perfilado.

summary()

Obtenga un diccionario con los nombres de los pasos y sus duraciones (ms).
Salida de ejemplo:

Comprender el informe

Nombres de los pasos

Duración

  • Pasos de planificación (Planificación de consultas): Suelen ser rápidos
  • Pasos de ejecución (Ejecución de SQL): Donde se realiza el trabajo real
  • Pasos de transferencia (Resultado a DataFrame): Conversión de datos a pandas

Identificación de cuellos de botella


Patrones de perfilado

Perfilar una sola consulta

Perfilar varias consultas

Comparar enfoques


Consejos para la optimización

1. Compruebe el tiempo de ejecución de SQL

Si SQL execution es el cuello de botella:
  • Añada más filtros para reducir los datos
  • Use Parquet en lugar de CSV
  • Compruebe que haya índices adecuados (para fuentes de datos de bases de datos)

2. Verifique el tiempo de E/S

Si read_csv o read_parquet es el cuello de botella:
  • Use Parquet (columnar, comprimido)
  • Lea solo las columnas necesarias
  • Filtre en origen si es posible

3. Comprobar la transferencia de datos

Si to_df es lento:
  • El conjunto de resultados puede ser demasiado grande
  • Añade más filtros o un límite
  • Usa head() para obtener una vista previa

4. Compare los motores


Buenas prácticas

1. Perfila antes de optimizar

2. Limpiar entre cada prueba

3. Usa min_duration_ms para enfocarte

4. Perfila datos representativos

5. Deshabilitar en producción


Ejemplo: sesión de perfilado completa

Última modificación el 2 de julio de 2026