tweag / topiary

https://topiary.tweag.io/
MIT License
585 stars 29 forks source link

Parallel computation, for improved performance #386

Open torhovland opened 1 year ago

torhovland commented 1 year ago

Is your feature request related to a problem? Please describe. Tree-sitter is designed to support concurrency. Rust is extremely well suited for doing concurrent programming safely. We should take advantage of this.

Describe the solution you'd like The benchmark should improve considerably, and the processing time for large files should be significantly reduced.

Describe alternatives you've considered We can choose to keep Topiary sequential if parallelisation proves too difficult.

aspiwack commented 1 year ago

Are there parallelisation opportunity within a single file, or are you looking at running one file per thread when processing many files?

torhovland commented 1 year ago

I was thinking the former, because if it is easy, why not? But the latter is a good idea too.

ErinvanderVeen commented 1 year ago

The latter was implemented in #534