Skip to content

Procwire

High-performance IPC for Node.js. Binary protocol for data plane, JSON-RPC for control.
v2.0 in development

Binary Data Plane

New in v2.0: Binary wire protocol with 11-byte header for data plane. Target: >1 GB/s throughput for large payloads.

Dual-Channel Architecture

Control plane (stdio, JSON-RPC) for lifecycle management. Data plane (pipe, binary) for high-throughput user data.

Type-Safe

Full TypeScript support with builder pattern and generics. Schema-first design where parent defines the contract.

Zero Dependencies

Core packages have zero runtime dependencies. Optional codec packages for MessagePack, Arrow, and more.

Cross-Platform

Named Pipes on Windows, Unix Domain Sockets on Linux/macOS. One API, all platforms.

In Development

v2.0 is under active development. New binary protocol replaces JSON-RPC on data plane for 80x performance improvement.

Procwire v2.0 introduces a fundamental architecture change:

Channelv1.xv2.0Impact
Control PlaneJSON-RPCJSON-RPCNo change
Data PlaneJSON-RPCBinary~30 MB/s -> ~2.5 GB/s

JSON-RPC on the data channel caused severe performance issues:

  • 5x larger payload (JSON text vs binary)
  • ~500ms serialization overhead per 1MB of data

The new binary wire format eliminates this overhead completely.

Binary Frame (Data Plane):
+----------+-------+----------+----------+----------------------+
| Method ID| Flags | Req ID | Length | Payload |
| 2 bytes | 1 byte| 4 bytes | 4 bytes | N bytes |
+----------+-------+----------+----------+----------------------+