int0x80
Joined 11 years ago
Joined 11 years ago
Does rust-analyzer compute semantic information on the fly and incrementally?
The performance comes from the big O complexity. Memory management is a constant factor in the algorithm.
Basically most of the complexity I mention comes from memory management. It's just a lot of details to know about and keep in your head. It's the price to pay for the flexibility and power.
In Java you need to understand references and object lifecycles or you get memory leaks and slow applications.
Actually, I work on a performance sensitive application and it's written in Java and it's a good choice for it, since the performance comes from algorithmic complexity, mostly from asymptotic complexity. A C++ rewrite wouldn't significantly impact the performance of the application.
And don't get me wrong - I think C++ is the most powerful language out there on the right hands - it just feels to require a lifetime of learning to became productive on it.
Additonally, is essential to provide an API to transform trees or even construct new ones using immutable ASTs like implemented in many compilers eg .NET Roslin or typescript TSC.