Show HN: Kern – container and resource runtime in a 1.5 MB binary, no daemon
11–16 of 16 posts
Re: Show HN: Kern – container and resource runtime in a 1.5 MB binary, no daemon
#12Re: Show HN: Kern – container and resource runtime in a 1.5 MB binary, no daemon
#13Re: Show HN: Kern – container and resource runtime in a 1.5 MB binary, no daemon
#14Congrats 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?
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
#15Congrats 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?
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.