Mission Saturn · measured, not claimed

We built the fastest data engine in the race.

Nine engines, the same work. neo is ahead on 119 of 122 measurements.

—

neo crosses once

neo

Ahead of the field
119 of 122 measurements
Over the JavaScript it replaces
33× median
Same output, old and new
627 / 627 cases
A million rows summed by group
0.020 ms

01 / Thesis

Saturn is the future's fuel station.

Who we work with

We mean Saturn literally, and it is also how we choose who we work with.

n0is only works with companies that want to build on the fastest, most optimized technology there is, and that accept it takes time to build. A ship that has to fly to Saturn is not built in a sprint, and the teams we work with already know that. If you need something quick and good enough, we are not the right firm. If it has to be the fastest thing in the race, and still be working eighty light-minutes from help, we are.

Earth's supply is limited. Saturn's is, for every practical purpose, infinite.

A ball of gas and liquid metal, hydrogen all the way down to a metallic core. It is what carries human evolution past the Moon, past Mars, and past where we are today.

02 / Capabilities

What we build.

  1. 01

    Proprietary C++ engine

    Extreme automation and optimization on a fixed power budget. Built from the ground up for speed and watts, not developer convenience.

  2. 02

    Streaming data unification

    Every sensor, subsystem and actuator on the vehicle as one coherent stream. One truth to optimize against, from launch to Saturn orbit.

  3. 03

    Robotics and AI

    Autonomous systems that harvest, dock, repair and refuel at the station, and keep working when Earth is eighty light-minutes away.

  4. 04

    Detection and risk mitigation

    Finding flying objects early and acting on them inside the power budget. The risks are inevitable. Losing the mission is not.

03 / Evals

Measured, not claimed.

neo is our proprietary C++ engine. Every number below was printed by a script, on one machine, against the same input, and checked for the same output. The same kernels were ported to four other languages and told to beat it. Where something else is quicker, it is shown quicker.

33×
the median speed-up over the JavaScript it replaces

57 cases over 23 nodes at 250,000 rows; the least 4.7×, the most 1,356×

627 / 627
cases where old and new give the same output

the original JavaScript and the C++ on the same input, output for output (tools/eval/eval.py)

9.11 mJ
of energy to total a column by group, 1,000,000 rows, one run from rest

the same in Polars 3× · DuckDB 4× · pandas 6× · Spark 86× as much

0.020 ms
to total a column by group, 1,000,000 rows

the same in Polars 77× · DuckDB 112× · pandas 612× · Spark 1,948× as long

Lower is better · the measurement, with each column's multiple of neo in gray · click an engine for its comparison, or a kernel for its chart

The same kernels, in other languages

1,000,000 rows · ms · 2026-10-12 06:38

neo (C++)GoRustSwiftZig
load (parse + type + dictionary)3.595.171.4×4.601.3×3.541.0×5.281.5×
filter amount > 5000.0170.0744.4×0.0382.2×0.0472.8×0.0321.9×
sort into a new table2.886.402.2×4.171.4×7.862.7×4.371.5×
sum by region0.0200.0894.4×0.0442.2×0.0371.8×0.0281.4×

Taken on a shared machine. Every engine ran in the same rounds, so the columns stand beside each other; the times themselves may read high.

Against the libraries people reach for first

1,000,000 rows · ms · 2026-10-11 21:23

neoPolarsDuckDBpandasSpark
load the CSV (parse + type)2.7715.25.5×51.819×22983×359130×
filter amount > 500, count0.0180.1799.9×0.60233×0.32818×36.92,049×
sort into a new table2.7212.24.5×23.48.6×11040×12245×
sum(amount) by region0.0201.5577×2.24112×12.2612×39.01,948×

The same run, in energy

1,000,000 rows · mJ · 2026-10-11 21:23

neoPolarsDuckDBpandasSpark
load the CSV (parse + type)1724942.9×1,4218.3×1,6369.5×14,30283×
filter amount > 500, count1.082.071.9×14.814×2.612.4×1,4131,313×
sort into a new table1443172.2×9006.3×6374.4×6,35044×
sum(amount) by region1.5550.933×72.347×90.659×2,3521,518×

Public data, from a path to a table

loads after the first, as text · ms · 2026-10-11 16:43

neoArrowPolarsDuckDBpandas
worldcitiespop11.423.02.0×39.93.5×91.88.1×1,05393×
NYC taxi · 1M52.990.71.7×95.31.8×66112×3,10359×
NYC taxi · 10M4189592.3×1,0982.6×2,5396.1×31,51275×
ClickBench · 1M96.03733.9×1892.0×1,43815×5,87661×
ClickBench · 10M1,0563,8293.6×2,6962.6×4,6824.4×——

Measured on Apple M5 Max, 18 cores, 26.4.1. Polars, DuckDB, pandas, Spark and Arrow at their current releases, written the way their users write them; the Go, Rust, Swift and Zig ports on 16 or 18 threads, the better of the two.

04 / Signal

Eighty minutes each way.

Nothing on a Saturn-bound vehicle can wait for Earth. This is a live estimate of the link today. Write a transmission to see when it lands, and when the earliest reply could reach you.

Earth → Saturn · today · circular-orbit estimate
Distance—
One-way light time—
Round trip—

    05 / Companies

    Three businesses. One engine.

    n0is is the Saturn end of a family that already works on Earth.

    06 / Contact

    Aiming for
    Saturn?

    Tell us about the mission.

    Start a conversation

    Solving problems on Earth instead? That is dev3lop.com for software and apecyber.com for security.