Napa.js is a multi-threaded JavaScript runtime built on V8, which was originally designed to develop highly iterative services with non-compromised performance in Bing. As it evolves, we find it useful to complement Node.js in CPU-bound tasks, with the capability of executing JavaScript in multiple V8 isolates and communicating between them. Napa.js is exposed as a Node.js module, while it can also be embedded in a host process without Node.js dependency. Multi-threaded JavaScript runtime. Node.js compatible module architecture with NPM support. API for object transportation, object sharing and synchronization across JavaScript threads. API for pluggable logging, metric and memory allocator. Distributed as a Node.js module, as well as supporting embed scenarios. Most of the time, there is no need to build Napa.js. When consuming Napa.js via npm install napajs, npm will first try to download the pre-build binaries for the current platform.

Features

  • In Napa.js, all works related to multi-threading are around the concept of Zone
  • A process may contain multiple zones, each consists of multiple JavaScript Workers
  • Run code that changes worker state on all workers, returning a promise for pending operation
  • Run code that doesn't change worker state on an arbitrary worker, returning a promise of getting the result
  • Both JavaScript modules and C++ modules are supported
  • Supports NPM, with the same way to create and publish modules

Project Samples

Project Activity

See All Activity >

Categories

Runtimes

License

MIT License

Follow Napa.js

Napa.js Web Site

Other Useful Business Software
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Napa.js!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

C++

Related Categories

C++ Runtimes

Registered

2021-06-24