Live data from Hacker News

Show HN: Kern – container and resource runtime in a 1.5 MB binary, no daemon

github.com

11–16 of 16 posts

Re: Show HN: Kern – container and resource runtime in a 1.5 MB binary, no daemon

#14

Congrats on the launch! What is the typical cold-start time from zero to running an un-cached single-step Python/Bash command inside an isolated rootfs?

The meaning of un‑cached can vary. The two un‑cached answers are very different. I will give both.

When the image has already been pulled the container takes 3.7 milliseconds. Adding a command does not add any time. I ran /bin/sh -c 'echo hi' inside an alpine image. Over 100 runs the time was 3.73 milliseconds. Running /bin/ in the container gave 3.71 milliseconds. Python is a number because it is CPython that is starting not the isolation. Running python3 -c 'print(1)' inside a python:3.12-slim container takes 15.6 milliseconds. Twelve milliseconds of that time is spent starting the interpreter. The same delay exists on metal.

If the image is not, in the cache then pulling the image dominates the time. Pulling is limited by the network not by runtime. On my connection pulling alpine took 2.7 seconds. Pulling python:3.12-slim took 9.0 seconds for 41 megabytes of layers. This happens once; after the image is cached the times above apply again. The command 'kern pull' pulls the image in advance if you want to pick when this happens.

I measured these times on the desktop described in the README. The system has an i7‑14700KF processor running Linux 7.0.

Re: Show HN: Kern – container and resource runtime in a 1.5 MB binary, no daemon

#15

Congrats on the launch! What is the typical cold-start time from zero to running an un-cached single-step Python/Bash command inside an isolated rootfs?

Image already pulled: 3.7 ms for the box, and a shell command adds nothing on top (3.73 vs 3.71 over 100 runs, alpine).

Python is 15.6 ms in a python:3.12-slim box, but ~12 of that is CPython starting, which you pay on bare metal too.

Cold cache is a different order: the pull dominates and is network bound. Alpine 2.7 s, python:3.12-slim 9.0 s for 41 MB, once.

Post reply on HN