Incluí la versión en miniatura de este aviso aquí porque la serie "Mis Avisos Favoritos" se supone que debe ser compacta, de tamaño reducido y contenerse por sí misma. Pero hoy transformé esto en un sistema verdaderamente loco. No es relevante si estás haciendo otro programa CRUD en React o una lista de tareas, pero si estás haciendo algo bastante complicado en Rust o Golang, o algo que involucra datos complejos, este enfoque es casi aterrador en lo que puede hacer. Es un proceso de 2 rondas. Aquí está la Ronda 1: --- Primero lee TODOS los archivos AGENTS dot md y README dot md con mucho cuidado y entiende TODO de ambos. Luego usa tu modo de agente de investigación de código para entender completamente el código, la arquitectura técnica y el propósito del proyecto. Luego, una vez que hayas hecho un trabajo extremadamente minucioso y meticuloso en todo eso y hayas entendido profundamente todo el sistema existente y lo que hace, su propósito, y cómo está implementado y cómo todas las piezas se conectan entre sí, necesito que investigues, estudies y reflexiones de manera hiperintensiva sobre estas preguntas en relación con este proyecto: ¿Hay alguna otra ineficiencia grave en el sistema central? lugares en la base de código donde 1) los cambios realmente moverían la aguja en términos de latencia/responsividad y rendimiento general; 2) de tal manera que nuestros cambios serían probadamente isomórficos en términos de funcionalidad para que supiéramos con certeza que no cambiarían las salidas resultantes dadas las mismas entradas; 3) donde tienes una visión clara de un enfoque obviamente mejor en términos de algoritmos o estructuras de datos (ten en cuenta que para esto, puedes incluir en tus contemplaciones estructuras de datos menos conocidas y algoritmos más esotéricos/sofisticados/matemáticos, así como formas de reformular el(los) problema(s) para que se exponga otro paradigma, como la lista que se muestra a continuación (Nota: Antes de proponer cualquier optimización, establece métricas de referencia (latencia p50/p95/p99, rendimiento, memoria máxima) y captura perfiles de CPU/asignación/E/S para identificar los verdaderos puntos críticos): - Eliminación del patrón de consulta/fetch N+1 - cero-copia / reutilización de buffers / E/S scatter-gather - costos de formato de serialización (sobrecarga de análisis/codificación) - colas limitadas + presión de retroceso (prevenir explosión de memoria y latencia de cola) - fragmentación / bloqueos en tiras para reducir la contención - memoización con estrategias de invalidación de caché - técnicas de programación dinámica - teoría de optimización convexa - evaluación perezosa / computación diferida - patrones de iterador/generador para evitar materializar grandes colecciones - procesamiento en streaming/chunked para trabajos limitados por memoria - pre-computación y tablas de búsqueda - búsqueda basada en índices vs reconocimiento de escaneo lineal - búsqueda binaria (en datos y en espacio de respuestas) - técnicas de dos punteros y ventana deslizante - sumas prefijas / agregados acumulativos...