MarkItDown
Mide MarkItDown sin ocultar fallos de extracción
Diseña una evaluación por formato, contabiliza memoria y servicios opcionales, y mide documentos aceptados en lugar de solo conversiones por segundo.
Qué aprenderás
- Informa de documentos aceptados y calidad conjuntamente.
- Mide el almacenamiento de flujos y la concurrencia.
- Separa servicios externos del análisis local.
Antes de empezar
- Conocimientos básicos de Python y terminal
- Un documento no sensible con contenido verificable
Utiliza la lista del capítulo para explicar y verificar esta parte de una ingesta documental.
Conclusiones clave
- Informa de documentos aceptados y calidad conjuntamente.
- Mide el almacenamiento de flujos y la concurrencia.
- Separa servicios externos del análisis local.
Cuenta los documentos que siguen siendo útiles
Un conversor rápido que pierde la tabla decisiva no completa rápidamente tu tarea de ingesta. Construye un corpus con hechos esperados e informa tanto del tiempo como de la proporción de salidas que los conservan. Agrupa por formato y complejidad: promediar texto breve con documentos escaneados grandes oculta el trabajo real.
Registra bytes de entrada, páginas o diapositivas cuando corresponda, extras, complementos, versiones y fallos. Separa las mediciones de arranque en frío de las de un proceso ya preparado. Reutilizar un conversor inicializado mide algo distinto de iniciar la CLI para cada archivo.
Localiza tiempo y memoria en la ruta real
La implementación inspeccionada de convert_stream copia a memoria las entradas que no permiten seek. Las bibliotecas de cada formato pueden añadir sus propios búferes. Mide memoria residente máxima además del tiempo, especialmente cuando varios trabajos comparten un trabajador; una carga transmitida como flujo no prueba consumo constante de memoria.
Los modelos opcionales para describir imágenes y los servicios documentales externos añaden red, espera y facturación. Mide esas llamadas por separado de la extracción local. No atribuyas una demora externa al analizador ni compares una ejecución local con otra asistida como si produjeran evidencia de la misma naturaleza.
Publica mediciones reproducibles
Repite las ejecuciones, especifica el hardware y presenta una distribución, no solo el mejor tiempo. Incluye conversiones fallidas y resultados rechazados en el denominador. Dividir el coste total de procesamiento y revisión entre documentos aceptados conecta el rendimiento con el trabajo realmente necesario.
El temporizador del ejemplo mide una sola llamada local. No captura el máximo de memoria ni demuestra calidad. Añade un evaluador de hechos y muestreo de recursos del proceso antes de afirmar mejoras. Este capítulo aporta un diseño de medición, no cifras inventadas de rendimiento o demanda de búsqueda.
Pasos de implementación
- 1
Prepara muestras etiquetadas por formato y complejidad.
- 2
Registra entorno, complementos y opciones.
- 3
Repite ejecuciones frías y preparadas, incluidos los fallos.
- 4
Valida hechos antes de calcular el coste por documento aceptado.
Ejemplo para copiar
from time import perf_counter
from markitdown import MarkItDown
converter = MarkItDown(enable_plugins=False)
start = perf_counter()
result = converter.convert_local("example.docx")
elapsed = perf_counter() - start
print({"seconds": elapsed, "characters": len(result.markdown)})Preguntas frecuentes
¿El número de caracteres es una puntuación de calidad?
No. Puede detectar salidas vacías o demasiado breves, pero no verifica la conservación de los hechos correctos.
¿El artículo afirma un rendimiento medido?
No. Proporciona un método reproducible y un temporizador de ejemplo, sin presentar pruebas no realizadas como resultados.
Fuentes
- Documentación fijadaFuente verificada 2026-09-07
- Despachador centralFuente verificada 2026-09-07
- Conversor de textoFuente verificada 2026-09-07
- Exportaciones públicasFuente verificada 2026-09-07