10 comments

[ 4.6 ms ] story [ 34.8 ms ] thread
Size of Hacker News front page, HTML only: 42830 bytes.

I really appreciate HN keeping things simple. Wish more websites did same.

(comment deleted)
I dont understand the reported size of the go runtime. Sure, an hello world can be 2 megs in Go, but not 500. Compiled binaries are standalone and famously statically linked, so there is no extra RUNtime. I'd think the reported 470MB is the compiler and stdlib install size ?
I also don't understand the quoted size of "LLVM/clang compiler+runtime". If I tally up the size of clang and it's dependencies with my package manager, I might get 500M, not 5G.
He probably ran ls on /usr/local/go (it's 477MB on my machine). But that's the size of the entire Go download after unarchiving, which includes the runtime's and all the standard library's 1) source code and 2) precompiled object files, both in normal and race-mode.

So no, that's not the actual size of "the Go runtime" for any meaningful definition of "the Go runtime".

I'm surprised the smallest listed size is 296 KiB. To me this is very large, especially only for a website's HTML.

If I were making a similar list, I would use it to compare modern sizes versus what sizes could be (e.g. on older computers or embedded systems).

The smallest practical programs I'm aware of are RP2040 PIO, which are max 64 bytes each (32 instructions of 2 bytes per instruction).

Various 8-bit controllers give you 256 Bytes to 128kB Flash / program space.

Various 32-bit uCs, including ARM Cortex M0+, ARM Cortex M33, ARM Cortex M4, ARM Cortex M7 give you spaces from the 2kB to 1MB sizes.

There are entire worlds and chip environments between the smallest 64 bytes programs and the 256kB programs around.

It would be relevant to note that the Java 19 number is the JDK size. The JRE size is almost half that, 180Mb IIRC.