npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@gamiumgamers/packetron

v1.0.9

Published

A simple to use clustered backend framework designed to utilize multiprocessing to improve throughput for nodejs servers while minimizing overhead.

Downloads

445

Readme

Packetron: High-Throughput Node.js Framework

Packetron is a lean, high-performance Node.js web framework designed for maximum throughput and efficient resource utilization. It achieves this by leveraging the Node.js cluster module for multiprocessing and utilizing bitwise flags for ultra-fast configuration and control flow.


🚀 Key Features

  • Multiprocessing for Scalability:
    Automatically uses all available CPU cores via the Node.js cluster module to distribute the load across multiple processes. This design significantly increases throughput and application availability under high load.

  • Minimal Overhead (Bitwise Flags):
    Configuration and runtime control mechanisms rely on bitwise flags (e.g., in PacketronFileRouterFlags and PacketronHandlerFlags) for lightning-fast, $O(1)$ complexity checks. This eliminates the performance cost of inspecting complex configuration objects or parsing booleans.

  • Pluggable Architecture:
    Features a priority-based plugin system (PacketronPluginManager with PacketronPluginPriority) for clean, flexible, and organized logic execution.

  • Fault Tolerance:
    The master process monitors and automatically restarts worker processes that crash, ensuring continuous operation.

  • Simple Routing:
    Provides clear methods for handling HTTP routes (handle) and serving static files from directories or individual paths (serve, serveFile).


⚙️ Core Architecture Philosophy

Packetron is built around two core principles to overcome common Node.js scaling challenges:

1. Full CPU Utilization (Multiprocessing)

Node.js is single-threaded by nature, which limits it to a single CPU core by default. Packetron uses the cluster module to fork multiple worker processes, allowing your application to fully utilize multi-core servers and scale throughput almost linearly with the number of cores. The master process handles the spawning, monitoring, and request distribution (Round Robin scheduling) to the worker processes.

2. Performance by Design (Bitwise Flags)

Instead of checking multiple boolean properties or parsing large configuration objects, Packetron uses bitwise flags to encode multiple options into a single integer. This allows for extremely rapid configuration checks using the bitwise AND operator (&), keeping the request execution path as fast as possible.


🧑‍💻 Usage Example

A brief example demonstrating initialization and routing:

const path = require('path');
const { Packetron, PacketronRequestMethod } = require('./Packetron'); 

const server = new Packetron
({
    port: 3000,
    maxThreads: 4 // Use 4 worker processes to utilize cores
});

// Define a simple API route
server.handle
({
    method: PacketronRequestMethod.GET,
    routePath: "api/status",
    handler: (request, response) => 
    {
        response.end(JSON.stringify({ status: "ok" }));
    }
});

// Serve static files from a 'public' directory at the '/static' path
server.serve
({
    directory: path.join(__dirname, 'public'),
    pathPrefix: 'static'
});

server.start();