Hacker News new | ask | show | jobs
by takeda 3167 days ago
Doesn't sound too fast, that's about how long it takes for FreeBSD kernel to be compiled[1] and I would imagine a kernel is more complex. The whole system takes about 50 minutes[2]

[1] https://ci.freebsd.org/job/FreeBSD-head-amd64-LINT/buildTime...

[2] https://ci.freebsd.org/job/FreeBSD-head-amd64-build/buildTim...

1 comments

Go's main compilation performance gains come from incremental compilation. Since C++ doesn't have real module support merely parsing the entire dependency graph from headers can take a very long time. In go if you have .a pkgs for all your dependencies your program will compile very fast.

If you use docker as part of your ci build the dependencies as a separate step so they can be cached between builds. This is especially important for libraries like sqlite, which can take a lot longer to compile.