Tsrs: Un port de TypeScript a Rust
El nuevo compilador de TypeScript basado en Rust de Cloudflare, tsrs, afirma tiempos de compilación hasta 3–4x más rápidos en proyectos grandes y alrededor de un 70% menos de uso de memoria que la implementación oficial, impulsado en parte por un modelo de memoria personalizado estilo arena y una mejor adaptación a WebAssembly. Los comentaristas sopesan los beneficios prácticos —herramientas más baratas y rápidas para enormes flujos de trabajo de CI y agentes de IA— frente a las preocupaciones por patrones inseguros de Rust y la tendencia más amplia de ports “vibe coded” generados por IA que desplazan compiladores diseñados por humanos. Muchos ven esto tanto como una validación de Rust y WASM para herramientas de desarrollo de alto rendimiento como una señal de que los ecosistemas de tooling de lenguaje pronto podrían mantener múltiples implementaciones asistidas por IA en paralelo.
Rendimiento y benchmarks
- Afirma hasta ~8x de velocidad y ~70% menos memoria que la línea base de TS 7.0; ejemplo concreto: VS Code compila ~3–4x más rápido en tsrs que en TS 7/7.1.
- Algunos sostienen que TS/TSGO ya es “lo bastante rápido” para muchos proyectos, otros reportan grandes mejoras en el mundo real (p. ej., comprobación de tipos de 10s a <0.5s, grandes caídas de memoria) y señalan ahorros acumulados para monorepos grandes y cargas de trabajo de CI/agents de alto volumen.
Motivación: WASM, Workers y agents
- El impulso principal es ejecutar la toolchain dentro del sandbox de Cloudflare, solo-WASM, sin enviar un runtime completo de Go.
- Rust encaja mejor con WASM (sin runtime de GC, binarios más pequeños), lo que importa a gran escala y para muchos agentes de IA y worktrees concurrentes.
Rust vs Go vs otras implementaciones
- Go se eligió originalmente por la facilidad para portar desde una base de código con GC; con ports asistidos por IA, esa justificación se debilita.
- Algunos sostienen que la división “ideal” es: TypeScript para la implementación de referencia; Rust para rendimiento/WASM; Go ahora es un compromiso.
- Otros enfatizan que la elección del lenguaje sigue siendo importante para el mantenimiento humano a largo plazo y la ergonomía.
Port generado por IA y flujo de trabajo del desarrollador
- El port fue en gran parte impulsado por IA, con una enorme suite de tests de TS como red de seguridad.
- Las reacciones se dividen: entusiasmo por ports rápidos frente a ansiedad por perder el valor de una arquitectura cuidadosamente diseñada por humanos y la revisión de código.
- Algunos afirman que revisar código de IA pronto será una pérdida de tiempo; otros llaman a eso ingenuo y enfatizan la supervisión humana continua.
Equipo de TypeScript e impacto en el ecosistema
- El equipo de TS está colaborando con tsrs, incorporando optimizaciones en TS 7.1 (trabajo diferido, mejores asignaciones/disposiciones), y viendo que las mejoras de velocidad no son solo “Rust vs Go”, sino algorítmicas.
- Debate sobre seguir invirtiendo en TSGO cuando Rust habilita WASM y mayor eficiencia; las réplicas destacan estabilidad, compatibilidad y la preferencia del equipo.
Modelo de memoria y preocupaciones de seguridad
- tsrs usa asignación estilo arena y un esquema personalizado de “fake GC”/reciclaje.
- Algunos elogian el enfoque; otros critican abstracciones
'staticno seguras y la validación basada en sanitizers como “volver a C”, preocupados de que socave las garantías de seguridad de Rust.
Meta: reescrituras en Rust, open source y fatiga por la IA
- Sentimientos encontrados sobre la tendencia más amplia de “reescribir todo en Rust” y los ports de IA “vibe-coded”.
- Preocupación de que forks más rápidos impulsados por IA de proyectos maduros desanimen a autores de open source, que sienten que su trabajo puede ser suplantado de forma barata.