3 ms·
Clio has a network-based approach to parallelism. It compiles to JS and uses Node to run the generated JS code, so just like Node, it is single threaded. Having
by pouya-eghbali 8y ago
Clio has a network-based approach to parallelism. It compiles to JS and uses Node to run the generated JS code, so just like Node, it is single threaded. Having a specification for remote calls gives us a few benefits, for example:
1. We can use async remote function calls to run several tasks simultaneously. Why block and wait for the results when we can request the next one? This way you can also use resources on other machines on the network. This solves the single threaded only issue.
2. We can use functions and some libraries of other languages
I also wanted to make these simple tasks easier for the developer. 20-30 years ago things didn't work like now, today we have new concepts: serverless, cloud, saas... now things are different and it's nice to have some helpers in the core. I actually started working on this project because of the difficulties I had with C/Python/JavaScript when I was making a cloud heavy app.
One more reason for this is that I want to encourage our users to write smaller independent and interconnected programs instead of making a giant monolithic app. This helps a lot with maintainability and portability.