-
Hello, Very interesting project! I came across prisma some time ago did not get a chance to use it until recently I started exploring other options to query builders (e.g. knex) and was going through the code and realize it uses binaries as child process to communicate to the database. I would very much like to know what are the benefits behind implementing the engines in rust other than rust is a compiled language and running them as child precess, Would it not make it slow for an app to talk to a child process than that process talks to the database. -- Cheers |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hey @allyraza 👋 Benefits of Rust would be a significantly lower memory footprint and better performance than the JVM (or any other runtime like Node for that matter), and no more need to deploy, monitor and maintain an extra server to run Prisma 2. We are also thinking of enhancing the bindings for Node with Rust here which would significantly improve performance. Hope that answers your question :) |
Beta Was this translation helpful? Give feedback.
Hey @allyraza 👋
The main reason for implementing the engines is Rust is that in Prisma 1 was implemented in Scala which means it needed the JVM to run. To reduce the overhead of running Prisma, we decided to rewrite it in Rust.
Benefits of Rust would be a significantly lower memory footprint and better performance than the JVM (or any other runtime like Node for that matter), and no more need to deploy, monitor and maintain an extra server to run Prisma 2.
We are also thinking of enhancing the bindings for Node with Rust here which would significantly improve performance.
Hope that answers your question :)