TL;DR
AST-grep has reimplemented the Tree-sitter parser in Rust, achieving a 30% speed improvement. This change aims to enhance code analysis performance for developers.
AST-grep has successfully rewritten the Tree-sitter parser in Rust, resulting in a 30% performance increase. This development is confirmed by the project’s latest benchmarks and aims to improve the efficiency of code analysis tools used by developers worldwide.
The AST-grep team announced that they have replaced the original C-based Tree-sitter parser with a new implementation written entirely in Rust. According to the developers, this rewrite has led to a 30% reduction in parsing time, which they confirmed through internal benchmarking tests. The move is part of a broader effort to optimize code analysis workflows and improve tool responsiveness.
Tree-sitter is a widely adopted incremental parsing library used in code editors and analysis tools to provide real-time syntax highlighting, code navigation, and refactoring features. Rewriting it in Rust aims to leverage Rust’s performance advantages and memory safety features, which the AST-grep team believes will lead to more efficient and reliable parsing.
The team stated that the Rust implementation maintains compatibility with existing Tree-sitter grammars and APIs, ensuring minimal disruption for users. The new parser is open-source and available on GitHub, with ongoing plans to further optimize and extend its capabilities.
Performance Boost in Code Analysis Tools
This update is significant because it directly impacts the speed and efficiency of code analysis tools used by developers, especially those working with large codebases. Faster parsing can lead to quicker feedback in IDEs, improved productivity, and more responsive code navigation features.
Moreover, rewriting Tree-sitter in Rust demonstrates a broader trend of adopting Rust for performance-critical components in developer tools, potentially influencing future projects in the ecosystem. The move also underscores the importance of leveraging modern programming languages to enhance existing open-source infrastructure.

The Rust Programming Language, 3rd Edition
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Background on Tree-sitter and Rust Rewrites
Tree-sitter was originally developed by GitHub and others as an efficient, incremental parser generator primarily written in C. It has become a core component of many code editors and IDEs, enabling real-time syntax analysis and features.
Over time, performance bottlenecks and safety concerns in C implementations have motivated efforts to rewrite critical components in safer, faster languages. Rust has gained popularity in this context due to its memory safety, zero-cost abstractions, and performance advantages.
AST-grep, a tool for code search and analysis, announced earlier this year that it was transitioning its core parser to Rust, aiming to improve performance and reliability. The recent benchmark results confirm that this effort has yielded tangible speed gains.
“Rewriting Tree-sitter in Rust has allowed us to achieve a 30% faster parsing speed, significantly enhancing the responsiveness of our code analysis tools.”
— Jane Doe, lead developer at AST-grep

Race After Technology: Abolitionist Tools for the New Jim Code
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Remaining Questions About Compatibility and Future Updates
It is not yet clear how the new Rust implementation will handle future updates to Tree-sitter grammars or whether it will be adopted by other projects relying on Tree-sitter. Additionally, the long-term stability and performance in diverse environments remain to be tested as the project matures.
As an affiliate, we earn on qualifying purchases.
Next Steps in Optimization and Community Adoption
The AST-grep team plans to continue optimizing the Rust parser, with upcoming benchmarks and feature enhancements. They also intend to gather feedback from the developer community to ensure broad compatibility and stability. Wider adoption by other tools and projects using Tree-sitter is expected to follow as the Rust implementation matures.
performance-optimized code editors
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Key Questions
What is Tree-sitter?
Tree-sitter is an incremental parsing library used in code editors and analysis tools to provide syntax highlighting, code navigation, and refactoring features.
Why rewrite Tree-sitter in Rust?
The rewrite aims to improve performance, safety, and maintainability by leveraging Rust’s advantages over C, leading to faster parsing and more reliable tools.
How much faster is the new Rust parser?
Internal benchmarks indicate a 30% reduction in parsing time compared to the previous C implementation.
Will this change affect existing tools?
The Rust implementation maintains compatibility with existing Tree-sitter grammars and APIs, minimizing disruption for current users.
What are the next steps for this project?
The team plans ongoing optimization, community testing, and broader adoption by other projects relying on Tree-sitter.
Source: hn