MEMORY_P Code Analyzer Skill
Descripción
Analiza código Rust identificando oportunidades de optimización con Rayon y mejores prácticas.
Cuándo Usar
- Revisar nuevo código antes de merge
- Detectar cuellos de botella
- Sugerir paralelización
- Validar uso de memoria
Patrones a Detectar
1. Oportunidades de Paralelización
// ❌ DETECTAR: Loop secuencial con >100 elementos
for item in large_vec.iter() {
process(item);
}
// ✅ SUGERIR: Usar par_iter
use rayon::prelude::*;
large_vec.par_iter().for_each(|item| process(item));
2. Clones Innecesarios
// ❌ DETECTAR: Clone sin necesidad
fn process(data: String) -> Result<(), Error> {
// Solo lee, no modifica
}
// ✅ SUGERIR: Usar referencia
fn process(data: &str) -> Result<(), Error> {
// ...
}
3. Allocations Evitables
// ❌ DETECTAR: Vec sin capacity
let mut results = Vec::new();
for i in 0..1000 {
results.push(i);
}
// ✅ SUGERIR: Pre-alocar
let mut results = Vec::with_capacity(1000);
for i in 0..1000 {
results.push(i);
}
Métricas a Reportar
- Funciones sin tests
- Uso de
unwrap() en producción
- Complejidad ciclomática >10
- Funciones >100 líneas
- Módulos sin documentación
Script de Análisis
#!/bin/bash
# Ejecutar análisis completo
cargo clippy -- -D warnings
cargo audit
cargo outdated
📚 Ver También
Última actualización: Enero 2026 (Post-merge PR #4)
Compatibilidad: GitHub Copilot, Cursor, Windsurf, Claude Desktop