A benchmark comparing how many syscalls and how much overhead different programming languages produce for a simple 'hello world' program on Linux x86_64. Starting from the ideal assembly implementation using just two syscalls (write and exit), the post measures execution time, total syscalls, unique syscalls, and binary size across Assembly, Zig, C (musl/glibc), Rust, Crystal, Go, D, Perl, Java, Node.js, Python, Julia, and Ruby. The results highlight how much hidden complexity each language runtime adds even for the simplest task, with JIT-compiled languages faring significantly worse than compiled ones.
Table of contents
Environmenttest.Stest.zigtest.ctest.rstest.goTest.javatest.crtest.jstest.jltest.pytest.pltest.dtest.rbSort: