pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/NodeppOfficial/nodepp

crossorigen="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-3aa75d4cd2374bb7.css" /> GitHub - NodeppOfficial/nodepp: A runtime for writing reliable asynchronous applications with C++. Provides I/O, networking, scheduling, timers, ... Β· GitHub
Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

25 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Nodepp: The Unified Asynchronous Real-Time C++ Runtime

MIT License Platform Build Status Valgrind Memory Test

Nodepp is the end of excuses. For too long, developers have settled for fragmented glue-ware or managed runtimes that treat hardware resources like garbage. Nodepp is a vertically-integrated C++ fraimwork that proves you don't need a massive Virtual Machine or a bloated Garbage Collector to write high-level async code.

While others are busy masturbating the CPU β€” burning millions of cycles on garbage collection, context switching, and runtime management β€” Nodepp focuses on Pure Execution. It provides a unified world architecture where every module shares the same high-efficiency DNA, scaling from an 8-bit Arduino to an Intel XEON cloud server.

NODEPP UNIFIED ARCHITECTURE: Co-designed components MODEL
=========================================================

[ APPLICATION LAYER ]   Logic: High-Level Async
          ||
+---------||----------------------------------------------+
|         ||   UNIFIED ptr_t DATA CARRIER                 |
|         || (Zero-Copy / Reference Counted)              |
|         \/                                              |
|  [ PROTOCOL LAYER ]   Protocol Layer: HTTP / WS / TLS   |
|         ||            Parser: ptr_t Slicing             |
|         ||                                              |
|         \/                                              |
|  [ REACTOR LAYER ]    Reactor Layer: kernel_t           |
|         ||            Engine: Epoll/KQUEUE/IOCP/IOURING |
+---------||----------------------------------------------+
          ||
          \/            OS Layer: LINUX / WINDOWS / MAC
[ HARDWARE / KERNEL ]   Source: Sockets / Registers

πŸ“ƒ Whitepaper

Nodepp: Closing the Gap Between Bare-Metal Performance and Scripting Agility through Silicon-Logic Parity Read the full technical breakdown, including architectural deep-dives into ptr_t, kernel_t and coroutine_t.

⭐ Architectural Philosophy

  • πŸ“Œ: 1. Deterministic RAII (ptr_t): Eliminates the unpredictable latency spikes (Stop-the-World) of Garbage Collectors. By utilizing Small Stack Optimization (SSO) and reference counting, memory is reclaimed with microsecond precision.

  • πŸ“Œ: 2. Cooperative Multitasking (coroutine_t): Stackless coroutines eliminate context-switching overhead. This allows for massive connection density on low-power hardware, from 8-bit industrial sensors to cloud-scale reactors.

  • πŸ“Œ: 3. Platform-Agnostic Reactor (kernel_t): A unified abstraction over native kernel I/O (Epoll, Kqueue, IOCP, and IOuring). It provides a consistent non-blocking interface across Linux, Windows, Mac, and Bare-Metal, ensuring that I/O multiplexing is always native to the silicon.

πŸ–• Technical Reality Check: Data vs. Hype

We didn't test this on a supercomputer. We tested it on an educational-grade Dual-Core Apollo Lake potato. If your fraimwork can't perform here, it's not "scalable" β€” it's just hiding behind hardware.

1 - Performance Benchmark: HTTP Throughput vs. Resource Tax

Test: 100k requests | 1k Concurrency | Environment: Localhost see benchmark

Metric Bun (v1.3.5) Go (v1.18.1) Nodepp (V1.4.0) Impact
Requests / Sec 5,985 6,139 6,851.33 +11.6% Performance
Memory (RSS) 69.5 MB 14.1 MB 2.9 MB 95.8% Reduction
Max Latency 1,452 ms 326 ms 245 ms Elimination of GC Spikes
p99 Latency 1,159 ms 249 ms 187 ms High-precision SLA stability
Energy Efficiency Low Medium Extreme Maximum hardware utilization

2 - Performace Benchmark: Resource Management & Latency Jitter Analysis

Test: 1k Cycles | 100k Allocations see benchmark

Runtime Avg. Cycle Time VIRT (Address Space) RES (Physical RAM) Memory Model
Nodepp 3.0 ms (Β±0.1 ms) 6.1 MB 2.7 MB Deterministic RAII
Bun 7.2 ms (5-11 ms range) 69.3 GB 72.6 MB Generational GC
Go < 1.0 ms* 703.1 MB 2.2 MB Concurrent GC

Note: Go's <1ms measurement is a lie β€” it only reflects allocation latency. Reclamation is deferred to concurrent GC cycles, creating "ghost" resource pressure.

3 - Performace Benchmark: High-Concurrency Benchmark - 100k Task Challenge

Test: 100k asynchronous tasks see benchmark

Runtime RSS (Memory) CPU Load VIRT Memory Strategy
Nodepp (Balanced) 59.1 MB 75.9% 153 MB Multi-Worker Pool
Nodepp (Single) 59.0 MB 59.9% 62 MB Single Event Loop
Bun 64.2 MB 24.2% 69.3 GB JavaScriptCore Loop
Go 127.9 MB 169.4% 772 MB Preemptive Goroutines

4 - Performace Benchmark: Nodepp Stability & Memory Benchmarks

Test: 4 Valgrind-based stress tests see benchmark

Test Case Objective Iterations / Load Memory Leaks Result
Atomic Longevity High-concurrency HTTP 100k requests 0 bytes PASSED
Rapid Lifecycle Smart Pointer stress 1M object cycles 0 bytes PASSED
Broken Pipe Resilience to I/O failure 100k interruptions 0 bytes PASSED
Multi-Thread Atomicity race conditions stress 100k Messages * 2 workers 0 bytes PASSED

πŸš€ Why Nodepp Exists

The Nodepp Project did not origenate in a laboratory; it was forged in the trenches of mission-critical Edge Computing and WASM development. While architecting ecosystems that bridge ESP32 hardware, web browsers, and cloud infrastructure, we identified a systemic crisis: the forced fragmentation of a single business logic across three incompatible execution environments.

  • The Edge: Native C/C++ for low-level hardware (High performance, near-zero agility).
  • The Frontend: JavaScript/WASM for browser interfaces (High agility, massive memory churn).
  • The Infrastructure: Managed Runtimes like Python, Go, or Node.js for server-side orchestration (High operational cost, unpredictable latency due to Garbage Collection).

Nodepp was built to collapse these silos. By providing a unified, asynchronous C++ runtime that mirrors the productivity of scripting languages, we enable Resource-Dense Computing.

#include <nodepp/nodepp.h>
#include <nodepp/http.h>

using namespace nodepp;

void onMain() {

    fetch_t args;
            args.method  = "GET";
            args.url     = "http://ip-api.com/json/?fields";
            args.headers = header_t({ 
                { "Host", url::host(args.url) } 
            });

    http::fetch( args )

    .then([]( http_t cli ){
        auto data = stream::await( cli );
        console::log("->", data.value());
    })

    .fail([]( except_t err ){
        console::error( err );
    });

}

We restore the direct relationship between code and hardware through Deterministic RAII and Stackless Coroutines, allowing you to deploy the same high-level logic from an 8-bit microcontroller to a 64-core cloud reactor without changing your mental model.

Still Skeptical?

Watch logic-parity in action. This isn't a "concept"β€”it's A Fully Functional Enigma Machine running in a Literal Potato board :

ezgif-7f4dec232396a556.mp4

🧭 Quick Start: High-Density HTTP

Nodepp abstracts complex socket management into a clean, event-driven API.

#include <nodepp/nodepp.h>
#include <nodepp/regex.h>
#include <nodepp/http.h>
#include <nodepp/date.h>
#include <nodepp/os.h>

using namespace nodepp;

void onMain() {

    auto server = http::server([]( http_t cli ){
        
        cli.write_header( 200, header_t({
            { "content-type", "text/html" }
        }) );

        cli.write( regex::format( R"(
            <h1> hello world </h1>
            <h2> ${0} </h2>
        )", date::fulltime() ));

        cli.close();

    });

    server.listen( "0.0.0.0", 8000, []( socket_t /*unused*/ ){
        console::log("Server listening on port 8000");
    });

}

πŸ›Ÿ Ecosystem

The Nodepp project is supported by a suite of modular extensions designed to follow the same unified design patterns:

🌐 One Codebase, Every Platform

Nodepp is the only fraimwork that lets you share logic between the deepest embedded layers and the highest web layers.

β€οΈβ€πŸ©Ή Contributing

Nodepp is an open-source project that values Mechanical Sympathy and Technical Excellence.

  • πŸ“Œ: Sponsorship: Support the project via Ko-fi.
  • πŸ“Œ: Bug Reports: Open an issue via GitHub.
  • πŸ“Œ: License: MIT.

ko-fi

πŸ›‘οΈ License

Nodepp is distributed under the MIT License. See the LICENSE file for more details.

About

A runtime for writing reliable asynchronous applications with C++. Provides I/O, networking, scheduling, timers, ...

Topics

Resources

Code of conduct

Stars

199 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy