🔥 Tree-sitter переписали с C на Rust с помощью ИИ и ускорили почти на 30%
Автор ast-grep поручил ChatGPT переписать ядро Tree-sitter на Rust, сохранив совместимость с существующими сгенерированными парсерами.
Результат:
• raw parsing: +29,74% throughput
• обход дерева: +10,16%
• полный ast-grep: примерно 22% меньше CPU-времени
• существующие grammar/parser-артефакты остались совместимыми
Но самое интересное началось после первых бенчмарков: сам ast-grep сначала стал медленнее, хотя парсер уже работал быстрее.
Причина оказалась в архитектуре и работе с памятью. Первую пачку AI-оптимизаций вообще пришлось откатить: код стал плохо читаемым и начал ловить segfault'ы.
После этого подход поменяли: сначала упростили runtime, убрали ненужные для ast-grep части incremental parsing, переработали аллокации и структуры данных, а уже потом снова занялись производительностью.
🔗 https://astgrep.com/blog/tree-sitter-rust-rewrite
Post #1925
1.67K

- 🔥 4
- ❤ 3
- 👍 3