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

You Might Also Like
Top-Rated Free CRM Software Icon
Top-Rated Free CRM Software

216,000+ customers in over 135 countries grow their businesses with HubSpot

HubSpot is an AI-powered customer platform with all the software, integrations, and resources you need to connect your marketing, sales, and customer service. HubSpot's connected platform enables you to grow your business faster by focusing on what matters most: your customers.
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