Skip to content

Latest commit

History

47,450 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚀 CUSTOM NODE — THE PRE-WARMED POOL ENGINE

This is a highly specialized fork of Node.js that fundamentally solves the boot-latency problem of standard worker_threads by implementing The Ultimate Pre-Warmed Node Pool.

By utilizing Lazy Initialization, this custom engine boots a persistent pool of standard Node.js environments in the background the moment you first request parallelization. This provides near-zero overhead parallelism while maintaining 100% full compatibility with standard Node.js modules (fs, http, setTimeout, etc).


🛠️ The Global API

The Custom Node Engine exposes a global Thread object and prototype methods on Array directly in JavaScript without needing to import any modules.

Thread.spawn(fn, ...args)

Offloads a function to the pre-warmed pool.

  • Returns: A Promise that resolves with the return value of the function.

Thread.join(promise)

Syntactic sugar for await. Waits for a thread to finish and retrieves its return value.

Array.prototype.parallelMap(fn)

Automatically chunks the array across all available CPU cores, maps the data in parallel across the pre-warmed workers, and merges the result.

  • Returns: A Promise resolving to the mapped array.

Array.prototype.parallelFilter(fn)

Automatically chunks the array across all CPU cores, filters the data in parallel, and merges the result.

  • Returns: A Promise resolving to the filtered array.

📊 Comprehensive Edge-Case Benchmarks

Test Environment: Windows 11, 8 CPU Cores.

We put Normal Node, Bun, and Our Custom Engine through extreme edge cases to observe boot-latency, payload serialization, and API compatibility.

EngineScenarioTime (ms)RAM OverheadStatus
Normal Node1: Micro-Task Flooding (500 workers)1402.38 ms+565.12 MB❌ Slow Boot
Bun1: Micro-Task Flooding (500 workers)10413.79 ms+10662.78 MB❌ Severe Bloat
Custom Node1: Micro-Task Flooding (500 workers)55.94 ms+202.32 MB🏆 Blazing Fast
Normal Node2: 10MB Payload Serialization40.28 ms+9.39 MB✔️ Passes
Bun2: 10MB Payload Serialization45.76 ms+0.00 MB✔️ Passes
Custom Node2: 10MB Payload Serialization9.74 ms+50.02 MB🏆 Fast IPC
Normal Node3: Async I/O & Timers (setTimeout)35.78 ms+2.88 MB✔️ Passes
Bun3: Async I/O & Timers (setTimeout)74.40 ms+0.00 MB✔️ Passes
Custom Node3: Async I/O & Timers (setTimeout)12.47 ms+0.09 MB🏆 Full API Support

Note

The Architecture Trade-off: Notice the flat ~200MB RAM overhead for Custom Node in Scenario 1. This is the exact cost of the 16 Pre-Warmed Node.js instances (16 * ~12MB = ~200MB). Because we pay this RAM cost upfront via Lazy Initialization, our engine completes 500 tasks in 55 milliseconds, while Normal Node takes 1.4 seconds, and Bun entirely melts down, consuming 10GB of RAM and taking 10 seconds.


🏎️ Raw CPU Performance (Fibonacci 35)

Executing Fibonacci(35) simultaneously across 4 background threads.

  • Normal Node.js: 98.60 ms
  • Bun: 80.30 ms
  • Our Custom Engine:71.38 ms

Our engine successfully matches Bun's optimized performance, while simultaneously supporting the entire ecosystem of standard Node.js asynchronous APIs, and completely destroying Bun's severe multi-threading memory leak.

For full architectural details, see the extensive multithreading documentation.

About

Node.js JavaScript runtime with Multithreading V8 engine

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - shadowofleaf96/custom-node: Node.js JavaScript runtime with Multithreading V8 engine · GitHub
Skip to content

Latest commit

History

47,450 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚀 CUSTOM NODE — THE PRE-WARMED POOL ENGINE

This is a highly specialized fork of Node.js that fundamentally solves the boot-latency problem of standard worker_threads by implementing The Ultimate Pre-Warmed Node Pool.

By utilizing Lazy Initialization, this custom engine boots a persistent pool of standard Node.js environments in the background the moment you first request parallelization. This provides near-zero overhead parallelism while maintaining 100% full compatibility with standard Node.js modules (fs, http, setTimeout, etc).


🛠️ The Global API

The Custom Node Engine exposes a global Thread object and prototype methods on Array directly in JavaScript without needing to import any modules.

Thread.spawn(fn, ...args)

Offloads a function to the pre-warmed pool.

  • Returns: A Promise that resolves with the return value of the function.

Thread.join(promise)

Syntactic sugar for await. Waits for a thread to finish and retrieves its return value.

Array.prototype.parallelMap(fn)

Automatically chunks the array across all available CPU cores, maps the data in parallel across the pre-warmed workers, and merges the result.

  • Returns: A Promise resolving to the mapped array.

Array.prototype.parallelFilter(fn)

Automatically chunks the array across all CPU cores, filters the data in parallel, and merges the result.

  • Returns: A Promise resolving to the filtered array.

📊 Comprehensive Edge-Case Benchmarks

Test Environment: Windows 11, 8 CPU Cores.

We put Normal Node, Bun, and Our Custom Engine through extreme edge cases to observe boot-latency, payload serialization, and API compatibility.

EngineScenarioTime (ms)RAM OverheadStatus
Normal Node1: Micro-Task Flooding (500 workers)1402.38 ms+565.12 MB❌ Slow Boot
Bun1: Micro-Task Flooding (500 workers)10413.79 ms+10662.78 MB❌ Severe Bloat
Custom Node1: Micro-Task Flooding (500 workers)55.94 ms+202.32 MB🏆 Blazing Fast
Normal Node2: 10MB Payload Serialization40.28 ms+9.39 MB✔️ Passes
Bun2: 10MB Payload Serialization45.76 ms+0.00 MB✔️ Passes
Custom Node2: 10MB Payload Serialization9.74 ms+50.02 MB🏆 Fast IPC
Normal Node3: Async I/O & Timers (setTimeout)35.78 ms+2.88 MB✔️ Passes
Bun3: Async I/O & Timers (setTimeout)74.40 ms+0.00 MB✔️ Passes
Custom Node3: Async I/O & Timers (setTimeout)12.47 ms+0.09 MB🏆 Full API Support

Note

The Architecture Trade-off: Notice the flat ~200MB RAM overhead for Custom Node in Scenario 1. This is the exact cost of the 16 Pre-Warmed Node.js instances (16 * ~12MB = ~200MB). Because we pay this RAM cost upfront via Lazy Initialization, our engine completes 500 tasks in 55 milliseconds, while Normal Node takes 1.4 seconds, and Bun entirely melts down, consuming 10GB of RAM and taking 10 seconds.


🏎️ Raw CPU Performance (Fibonacci 35)

Executing Fibonacci(35) simultaneously across 4 background threads.

  • Normal Node.js: 98.60 ms
  • Bun: 80.30 ms
  • Our Custom Engine:71.38 ms

Our engine successfully matches Bun's optimized performance, while simultaneously supporting the entire ecosystem of standard Node.js asynchronous APIs, and completely destroying Bun's severe multi-threading memory leak.

For full architectural details, see the extensive multithreading documentation.

About

Node.js JavaScript runtime with Multithreading V8 engine

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - shadowofleaf96/custom-node: Node.js JavaScript runtime with Multithreading V8 engine · GitHub
Skip to content

Latest commit

History

47,450 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚀 CUSTOM NODE — THE PRE-WARMED POOL ENGINE

This is a highly specialized fork of Node.js that fundamentally solves the boot-latency problem of standard worker_threads by implementing The Ultimate Pre-Warmed Node Pool.

By utilizing Lazy Initialization, this custom engine boots a persistent pool of standard Node.js environments in the background the moment you first request parallelization. This provides near-zero overhead parallelism while maintaining 100% full compatibility with standard Node.js modules (fs, http, setTimeout, etc).


🛠️ The Global API

The Custom Node Engine exposes a global Thread object and prototype methods on Array directly in JavaScript without needing to import any modules.

Thread.spawn(fn, ...args)

Offloads a function to the pre-warmed pool.

  • Returns: A Promise that resolves with the return value of the function.

Thread.join(promise)

Syntactic sugar for await. Waits for a thread to finish and retrieves its return value.

Array.prototype.parallelMap(fn)

Automatically chunks the array across all available CPU cores, maps the data in parallel across the pre-warmed workers, and merges the result.

  • Returns: A Promise resolving to the mapped array.

Array.prototype.parallelFilter(fn)

Automatically chunks the array across all CPU cores, filters the data in parallel, and merges the result.

  • Returns: A Promise resolving to the filtered array.

📊 Comprehensive Edge-Case Benchmarks

Test Environment: Windows 11, 8 CPU Cores.

We put Normal Node, Bun, and Our Custom Engine through extreme edge cases to observe boot-latency, payload serialization, and API compatibility.

EngineScenarioTime (ms)RAM OverheadStatus
Normal Node1: Micro-Task Flooding (500 workers)1402.38 ms+565.12 MB❌ Slow Boot
Bun1: Micro-Task Flooding (500 workers)10413.79 ms+10662.78 MB❌ Severe Bloat
Custom Node1: Micro-Task Flooding (500 workers)55.94 ms+202.32 MB🏆 Blazing Fast
Normal Node2: 10MB Payload Serialization40.28 ms+9.39 MB✔️ Passes
Bun2: 10MB Payload Serialization45.76 ms+0.00 MB✔️ Passes
Custom Node2: 10MB Payload Serialization9.74 ms+50.02 MB🏆 Fast IPC
Normal Node3: Async I/O & Timers (setTimeout)35.78 ms+2.88 MB✔️ Passes
Bun3: Async I/O & Timers (setTimeout)74.40 ms+0.00 MB✔️ Passes
Custom Node3: Async I/O & Timers (setTimeout)12.47 ms+0.09 MB🏆 Full API Support

Note

The Architecture Trade-off: Notice the flat ~200MB RAM overhead for Custom Node in Scenario 1. This is the exact cost of the 16 Pre-Warmed Node.js instances (16 * ~12MB = ~200MB). Because we pay this RAM cost upfront via Lazy Initialization, our engine completes 500 tasks in 55 milliseconds, while Normal Node takes 1.4 seconds, and Bun entirely melts down, consuming 10GB of RAM and taking 10 seconds.


🏎️ Raw CPU Performance (Fibonacci 35)

Executing Fibonacci(35) simultaneously across 4 background threads.

  • Normal Node.js: 98.60 ms
  • Bun: 80.30 ms
  • Our Custom Engine:71.38 ms

Our engine successfully matches Bun's optimized performance, while simultaneously supporting the entire ecosystem of standard Node.js asynchronous APIs, and completely destroying Bun's severe multi-threading memory leak.

For full architectural details, see the extensive multithreading documentation.

About

Node.js JavaScript runtime with Multithreading V8 engine

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - shadowofleaf96/custom-node: Node.js JavaScript runtime with Multithreading V8 engine · GitHub
Skip to content

Latest commit

History

47,450 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚀 CUSTOM NODE — THE PRE-WARMED POOL ENGINE

This is a highly specialized fork of Node.js that fundamentally solves the boot-latency problem of standard worker_threads by implementing The Ultimate Pre-Warmed Node Pool.

By utilizing Lazy Initialization, this custom engine boots a persistent pool of standard Node.js environments in the background the moment you first request parallelization. This provides near-zero overhead parallelism while maintaining 100% full compatibility with standard Node.js modules (fs, http, setTimeout, etc).


🛠️ The Global API

The Custom Node Engine exposes a global Thread object and prototype methods on Array directly in JavaScript without needing to import any modules.

Thread.spawn(fn, ...args)

Offloads a function to the pre-warmed pool.

  • Returns: A Promise that resolves with the return value of the function.

Thread.join(promise)

Syntactic sugar for await. Waits for a thread to finish and retrieves its return value.

Array.prototype.parallelMap(fn)

Automatically chunks the array across all available CPU cores, maps the data in parallel across the pre-warmed workers, and merges the result.

  • Returns: A Promise resolving to the mapped array.

Array.prototype.parallelFilter(fn)

Automatically chunks the array across all CPU cores, filters the data in parallel, and merges the result.

  • Returns: A Promise resolving to the filtered array.

📊 Comprehensive Edge-Case Benchmarks

Test Environment: Windows 11, 8 CPU Cores.

We put Normal Node, Bun, and Our Custom Engine through extreme edge cases to observe boot-latency, payload serialization, and API compatibility.

EngineScenarioTime (ms)RAM OverheadStatus
Normal Node1: Micro-Task Flooding (500 workers)1402.38 ms+565.12 MB❌ Slow Boot
Bun1: Micro-Task Flooding (500 workers)10413.79 ms+10662.78 MB❌ Severe Bloat
Custom Node1: Micro-Task Flooding (500 workers)55.94 ms+202.32 MB🏆 Blazing Fast
Normal Node2: 10MB Payload Serialization40.28 ms+9.39 MB✔️ Passes
Bun2: 10MB Payload Serialization45.76 ms+0.00 MB✔️ Passes
Custom Node2: 10MB Payload Serialization9.74 ms+50.02 MB🏆 Fast IPC
Normal Node3: Async I/O & Timers (setTimeout)35.78 ms+2.88 MB✔️ Passes
Bun3: Async I/O & Timers (setTimeout)74.40 ms+0.00 MB✔️ Passes
Custom Node3: Async I/O & Timers (setTimeout)12.47 ms+0.09 MB🏆 Full API Support

Note

The Architecture Trade-off: Notice the flat ~200MB RAM overhead for Custom Node in Scenario 1. This is the exact cost of the 16 Pre-Warmed Node.js instances (16 * ~12MB = ~200MB). Because we pay this RAM cost upfront via Lazy Initialization, our engine completes 500 tasks in 55 milliseconds, while Normal Node takes 1.4 seconds, and Bun entirely melts down, consuming 10GB of RAM and taking 10 seconds.


🏎️ Raw CPU Performance (Fibonacci 35)

Executing Fibonacci(35) simultaneously across 4 background threads.

  • Normal Node.js: 98.60 ms
  • Bun: 80.30 ms
  • Our Custom Engine:71.38 ms

Our engine successfully matches Bun's optimized performance, while simultaneously supporting the entire ecosystem of standard Node.js asynchronous APIs, and completely destroying Bun's severe multi-threading memory leak.

For full architectural details, see the extensive multithreading documentation.

About

Node.js JavaScript runtime with Multithreading V8 engine

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - shadowofleaf96/custom-node: Node.js JavaScript runtime with Multithreading V8 engine · GitHub
Skip to content

Latest commit

History

47,450 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚀 CUSTOM NODE — THE PRE-WARMED POOL ENGINE

This is a highly specialized fork of Node.js that fundamentally solves the boot-latency problem of standard worker_threads by implementing The Ultimate Pre-Warmed Node Pool.

By utilizing Lazy Initialization, this custom engine boots a persistent pool of standard Node.js environments in the background the moment you first request parallelization. This provides near-zero overhead parallelism while maintaining 100% full compatibility with standard Node.js modules (fs, http, setTimeout, etc).


🛠️ The Global API

The Custom Node Engine exposes a global Thread object and prototype methods on Array directly in JavaScript without needing to import any modules.

Thread.spawn(fn, ...args)

Offloads a function to the pre-warmed pool.

  • Returns: A Promise that resolves with the return value of the function.

Thread.join(promise)

Syntactic sugar for await. Waits for a thread to finish and retrieves its return value.

Array.prototype.parallelMap(fn)

Automatically chunks the array across all available CPU cores, maps the data in parallel across the pre-warmed workers, and merges the result.

  • Returns: A Promise resolving to the mapped array.

Array.prototype.parallelFilter(fn)

Automatically chunks the array across all CPU cores, filters the data in parallel, and merges the result.

  • Returns: A Promise resolving to the filtered array.

📊 Comprehensive Edge-Case Benchmarks

Test Environment: Windows 11, 8 CPU Cores.

We put Normal Node, Bun, and Our Custom Engine through extreme edge cases to observe boot-latency, payload serialization, and API compatibility.

EngineScenarioTime (ms)RAM OverheadStatus
Normal Node1: Micro-Task Flooding (500 workers)1402.38 ms+565.12 MB❌ Slow Boot
Bun1: Micro-Task Flooding (500 workers)10413.79 ms+10662.78 MB❌ Severe Bloat
Custom Node1: Micro-Task Flooding (500 workers)55.94 ms+202.32 MB🏆 Blazing Fast
Normal Node2: 10MB Payload Serialization40.28 ms+9.39 MB✔️ Passes
Bun2: 10MB Payload Serialization45.76 ms+0.00 MB✔️ Passes
Custom Node2: 10MB Payload Serialization9.74 ms+50.02 MB🏆 Fast IPC
Normal Node3: Async I/O & Timers (setTimeout)35.78 ms+2.88 MB✔️ Passes
Bun3: Async I/O & Timers (setTimeout)74.40 ms+0.00 MB✔️ Passes
Custom Node3: Async I/O & Timers (setTimeout)12.47 ms+0.09 MB🏆 Full API Support

Note

The Architecture Trade-off: Notice the flat ~200MB RAM overhead for Custom Node in Scenario 1. This is the exact cost of the 16 Pre-Warmed Node.js instances (16 * ~12MB = ~200MB). Because we pay this RAM cost upfront via Lazy Initialization, our engine completes 500 tasks in 55 milliseconds, while Normal Node takes 1.4 seconds, and Bun entirely melts down, consuming 10GB of RAM and taking 10 seconds.


🏎️ Raw CPU Performance (Fibonacci 35)

Executing Fibonacci(35) simultaneously across 4 background threads.

  • Normal Node.js: 98.60 ms
  • Bun: 80.30 ms
  • Our Custom Engine:71.38 ms

Our engine successfully matches Bun's optimized performance, while simultaneously supporting the entire ecosystem of standard Node.js asynchronous APIs, and completely destroying Bun's severe multi-threading memory leak.

For full architectural details, see the extensive multithreading documentation.

About

Node.js JavaScript runtime with Multithreading V8 engine

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - shadowofleaf96/custom-node: Node.js JavaScript runtime with Multithreading V8 engine · GitHub
Skip to content

Latest commit

History

47,450 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚀 CUSTOM NODE — THE PRE-WARMED POOL ENGINE

This is a highly specialized fork of Node.js that fundamentally solves the boot-latency problem of standard worker_threads by implementing The Ultimate Pre-Warmed Node Pool.

By utilizing Lazy Initialization, this custom engine boots a persistent pool of standard Node.js environments in the background the moment you first request parallelization. This provides near-zero overhead parallelism while maintaining 100% full compatibility with standard Node.js modules (fs, http, setTimeout, etc).


🛠️ The Global API

The Custom Node Engine exposes a global Thread object and prototype methods on Array directly in JavaScript without needing to import any modules.

Thread.spawn(fn, ...args)

Offloads a function to the pre-warmed pool.

  • Returns: A Promise that resolves with the return value of the function.

Thread.join(promise)

Syntactic sugar for await. Waits for a thread to finish and retrieves its return value.

Array.prototype.parallelMap(fn)

Automatically chunks the array across all available CPU cores, maps the data in parallel across the pre-warmed workers, and merges the result.

  • Returns: A Promise resolving to the mapped array.

Array.prototype.parallelFilter(fn)

Automatically chunks the array across all CPU cores, filters the data in parallel, and merges the result.

  • Returns: A Promise resolving to the filtered array.

📊 Comprehensive Edge-Case Benchmarks

Test Environment: Windows 11, 8 CPU Cores.

We put Normal Node, Bun, and Our Custom Engine through extreme edge cases to observe boot-latency, payload serialization, and API compatibility.

EngineScenarioTime (ms)RAM OverheadStatus
Normal Node1: Micro-Task Flooding (500 workers)1402.38 ms+565.12 MB❌ Slow Boot
Bun1: Micro-Task Flooding (500 workers)10413.79 ms+10662.78 MB❌ Severe Bloat
Custom Node1: Micro-Task Flooding (500 workers)55.94 ms+202.32 MB🏆 Blazing Fast
Normal Node2: 10MB Payload Serialization40.28 ms+9.39 MB✔️ Passes
Bun2: 10MB Payload Serialization45.76 ms+0.00 MB✔️ Passes
Custom Node2: 10MB Payload Serialization9.74 ms+50.02 MB🏆 Fast IPC
Normal Node3: Async I/O & Timers (setTimeout)35.78 ms+2.88 MB✔️ Passes
Bun3: Async I/O & Timers (setTimeout)74.40 ms+0.00 MB✔️ Passes
Custom Node3: Async I/O & Timers (setTimeout)12.47 ms+0.09 MB🏆 Full API Support

Note

The Architecture Trade-off: Notice the flat ~200MB RAM overhead for Custom Node in Scenario 1. This is the exact cost of the 16 Pre-Warmed Node.js instances (16 * ~12MB = ~200MB). Because we pay this RAM cost upfront via Lazy Initialization, our engine completes 500 tasks in 55 milliseconds, while Normal Node takes 1.4 seconds, and Bun entirely melts down, consuming 10GB of RAM and taking 10 seconds.


🏎️ Raw CPU Performance (Fibonacci 35)

Executing Fibonacci(35) simultaneously across 4 background threads.

  • Normal Node.js: 98.60 ms
  • Bun: 80.30 ms
  • Our Custom Engine:71.38 ms

Our engine successfully matches Bun's optimized performance, while simultaneously supporting the entire ecosystem of standard Node.js asynchronous APIs, and completely destroying Bun's severe multi-threading memory leak.

For full architectural details, see the extensive multithreading documentation.

About

Node.js JavaScript runtime with Multithreading V8 engine

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); GitHub - shadowofleaf96/custom-node: Node.js JavaScript runtime with Multithreading V8 engine · GitHub
Skip to content

Latest commit

History

47,450 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🚀 CUSTOM NODE — THE PRE-WARMED POOL ENGINE

This is a highly specialized fork of Node.js that fundamentally solves the boot-latency problem of standard worker_threads by implementing The Ultimate Pre-Warmed Node Pool.

By utilizing Lazy Initialization, this custom engine boots a persistent pool of standard Node.js environments in the background the moment you first request parallelization. This provides near-zero overhead parallelism while maintaining 100% full compatibility with standard Node.js modules (fs, http, setTimeout, etc).


🛠️ The Global API

The Custom Node Engine exposes a global Thread object and prototype methods on Array directly in JavaScript without needing to import any modules.

Thread.spawn(fn, ...args)

Offloads a function to the pre-warmed pool.

  • Returns: A Promise that resolves with the return value of the function.

Thread.join(promise)

Syntactic sugar for await. Waits for a thread to finish and retrieves its return value.

Array.prototype.parallelMap(fn)

Automatically chunks the array across all available CPU cores, maps the data in parallel across the pre-warmed workers, and merges the result.

  • Returns: A Promise resolving to the mapped array.

Array.prototype.parallelFilter(fn)

Automatically chunks the array across all CPU cores, filters the data in parallel, and merges the result.

  • Returns: A Promise resolving to the filtered array.

📊 Comprehensive Edge-Case Benchmarks

Test Environment: Windows 11, 8 CPU Cores.

We put Normal Node, Bun, and Our Custom Engine through extreme edge cases to observe boot-latency, payload serialization, and API compatibility.

EngineScenarioTime (ms)RAM OverheadStatus
Normal Node1: Micro-Task Flooding (500 workers)1402.38 ms+565.12 MB❌ Slow Boot
Bun1: Micro-Task Flooding (500 workers)10413.79 ms+10662.78 MB❌ Severe Bloat
Custom Node1: Micro-Task Flooding (500 workers)55.94 ms+202.32 MB🏆 Blazing Fast
Normal Node2: 10MB Payload Serialization40.28 ms+9.39 MB✔️ Passes
Bun2: 10MB Payload Serialization45.76 ms+0.00 MB✔️ Passes
Custom Node2: 10MB Payload Serialization9.74 ms+50.02 MB🏆 Fast IPC
Normal Node3: Async I/O & Timers (setTimeout)35.78 ms+2.88 MB✔️ Passes
Bun3: Async I/O & Timers (setTimeout)74.40 ms+0.00 MB✔️ Passes
Custom Node3: Async I/O & Timers (setTimeout)12.47 ms+0.09 MB🏆 Full API Support

Note

The Architecture Trade-off: Notice the flat ~200MB RAM overhead for Custom Node in Scenario 1. This is the exact cost of the 16 Pre-Warmed Node.js instances (16 * ~12MB = ~200MB). Because we pay this RAM cost upfront via Lazy Initialization, our engine completes 500 tasks in 55 milliseconds, while Normal Node takes 1.4 seconds, and Bun entirely melts down, consuming 10GB of RAM and taking 10 seconds.


🏎️ Raw CPU Performance (Fibonacci 35)

Executing Fibonacci(35) simultaneously across 4 background threads.

  • Normal Node.js: 98.60 ms
  • Bun: 80.30 ms
  • Our Custom Engine:71.38 ms

Our engine successfully matches Bun's optimized performance, while simultaneously supporting the entire ecosystem of standard Node.js asynchronous APIs, and completely destroying Bun's severe multi-threading memory leak.

For full architectural details, see the extensive multithreading documentation.

About

Node.js JavaScript runtime with Multithreading V8 engine

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages