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
Auth0 for AI Agents now in GA Icon
Auth0 for AI Agents now in GA

Ready to implement AI with confidence (without sacrificing security)?

Connect your AI agents to apps and data more securely, give users control over the actions AI agents can perform and the data they can access, and enable human confirmation for critical agent actions.
Start building today
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