# Rendimiento Estructural

## Tamano y hotspots

- Proyecto analizado: ~263M.
- Carpetas mas grandes: `layouts` 53M, `libraries` 51M, `vendor` 34M, `pkg` 18M, `modules` 16M.
- `libraries/jquery` ocupa ~35M por multiples plugins y pdfjs.
- `vendor/tecnickcom/tcpdf` ocupa ~27M por fuentes.
- `modules/Mobile` tiene ~790 archivos y 3.6M.
- `modules/Settings` tiene ~257 archivos.

## Cuellos de botella potenciales

- Reports usa QueryGenerator y puede activar `Vtiger_Session::readonly()` para vistas pesadas.
- Inventory/Quotes/Invoice/SalesOrder hacen joins amplios contra `vtiger_inventoryproductrel`, entidades, usuarios, grupos, currency y tablas cf.
- GeoCuentas llama servicios externos con timeout de 20 segundos cuando se ejecuta.
- Logistica AI puede tener latencia/costo si se activan llamadas OpenAI.
- Cron agrupa workflows, mail queue, recurring invoice, reports, import y OAuth refresh.

## Riesgos de crecimiento

- `logs/`, `storage/`, `cache/`, `test/upload`, `MailManager` attachments y `vtiger_sqltimelog` si se activa SQL timing.
- Paquetes zip y tar bajo webroot aumentan backup y despliegue.
- Reports y dashboards pueden cargar datos amplios si no hay indices/filtros.
