No Glue Code
Write your logic in the language that fits the job. Transit handles serialization, process management, and function discovery automatically.
No Glue Code
Write your logic in the language that fits the job. Transit handles serialization, process management, and function discovery automatically.
Zero Changes
The scanner discovers your existing public functions automatically. No decorators, no annotations, no source modifications.
Optimal Transport
Rust, C, and C++ run in-process via N-API for zero overhead. Java and Python run as resident processes with a binary TCP protocol.
Works Everywhere
Supports Rust, Java, Python, C, C++, and JavaScript/TypeScript. Works on Linux, macOS, and Windows.
Transit/Rust eliminates IPC overhead with zero-copy serialization, offering up to or more than 100x better performance* than standard HTTP or RPC microservices.
TO perform benchmarks on your own hardware, you can go to the benchmark branch
Average Operations per second across all benchmarks (Higher is better)
Benchmarks performed on every update/patch
import { transit } from "transit"import { resolve } from "node:path"
const __dirname = import.meta.dirname
const rs = transit.rust(resolve(__dirname, "./rust"))const jv = transit.java(resolve(__dirname, "./java/src/main/java"))const py = transit.python(resolve(__dirname, "./python"))const c = transit.c(resolve(__dirname, "./c"))const cpp = transit.cpp(resolve(__dirname, "./cpp"))
// Call functions across language boundariesconst rustResult = await rs.processFile({ id: "job-001", bytes: [72, 101, 108] })const javaResult = await jv.handleSpecialized(rustResult)const pythonResult = await py.analyzeData(javaResult)const cResult = await c.processChunk({ data: [1, 2, 3] })const cppResult = await cpp.fastCompute({ n: 42 })* performance is dependent on hardware, language and other factors