Deno gets Dramatically Faster Performance for Rust Calls

Deno gets Dramatically Faster Performance for Rust Calls
Photo by Roman Synkevych 🇺🇦 / Unsplash

Deno is now offering us faster calls into Rust are highlighted in the latest version of the Deno secure JavaScript/TypeScript runtime – drastically improving performance for everyone who uses the runtime.

The Rust enhancement pertains to communication between the Google V8 JavaScript engine leveraged by Deno and the rest of the runtime, which was written in the Rust language. With the new Deno 1.20 release – just announced on March 17  – proponents have optimized the communication layer to be as much as 60% quicker. This is leveraging Rust procedural macros to generate optimized bindings for V8 from existing Rust code. The macro optimizes away deserialization of unused arguments – while speeding up metric collection– and to provide a base for future integration with the V8 Fast API to further boost performance between both JavaScript and Rust.

[ Read more! Understanding Linux's True and False Commands for another good read! ]

Those with Deno already installed can upgrade by running the following:

deno upgrade

Other installation instructions can be found at deno.land. Elsewhere in Deno 1.20:

  • Deno’s HTTP server now supports auto-compression for response bodies.
  • Stricter defaults are featured in programmatic permissions for tests and workers. This is a breaking change.
  • To upgrade an HTTP connection, a Deno namespace API was added: Deno.upgradeHTTP(). It is unstable at the moment.
  • A subcommand, deno task, has been added. This serves as a task runner, providing a convenient way of defining and executing custom commands specific to the development of a code base. But deno task, too, currently is unstable and could change drastically in the future.
  • Another subcommand, deno bench, serves as a benchmarking tool to check code performance. It also is unstable.
  • Global statics now can be used in the foreign function interface API.
  • New interfaces, Deno.TcpConn and Deno.UnixConn, can be used as return types for Deno.connect() API.
  • TypeScript 4.6 ships with Deno 1.20.
  • V8 10.0 is supported.

[ Want to discuss this article with other readers? Use our commenting box below to be redirected to the forums or click here for a direct link  ]