Live data from Hacker News

Spacex Launch Webcast: Formosat-5 Mission

spacex.com

41–50 of 59 posts

Re: Spacex Launch Webcast: Formosat-5 Mission

#41
post #34

Earlier quoted context omitted.

Probably a giant C++ codebase. Our CI runs can take well over an hour. C++ compiles so damn slowly compared to Java.

You should probably hire better C++ developers if it takes that long.

How long should a giant C++ code base take to compile?

Re: Spacex Launch Webcast: Formosat-5 Mission

#43
post #34

Earlier quoted context omitted.

Probably a giant C++ codebase. Our CI runs can take well over an hour. C++ compiles so damn slowly compared to Java.

You should probably hire better C++ developers if it takes that long.

you should probably become more experienced in c/c++ development before sharing your opinion

Re: Spacex Launch Webcast: Formosat-5 Mission

#44

Earlier quoted context omitted.

You should probably hire better C++ developers if it takes that long.

How long should a giant C++ code base take to compile?

With a good CMake configuration and Ninja and ccache, a minute or two max.

Your CMake makes incremental builds safe, and the ccache saves you when switching between branches.

Re: Spacex Launch Webcast: Formosat-5 Mission

#45

Earlier quoted context omitted.

You should probably hire better C++ developers if it takes that long.

How long should a giant C++ code base take to compile?

How giant is giant?

I've seen tens of thousands of lines of code compile in 30 minutes.

I've seen a hundred thousand lines of code compile in 2 minutes.

It really depends on how the project is laid out. If you're using lots of header-only libraries and try to compile monolithically (like soooooo many C++ applications do these days), you're going to have a bad (compile) time.

Re: Spacex Launch Webcast: Formosat-5 Mission

#47

Earlier quoted context omitted.

How long should a giant C++ code base take to compile?

With a good CMake configuration and Ninja and ccache, a minute or two max. Your CMake makes incremental builds safe, and the ccache saves you when switching between branches.

CMake helps a good bit, ccache goes further, and ninja helps a bit too. But none of them can help templated header-only libraries with complex interdependencies. It gets particularly bad when the developer #includes a convenience header to bring in _everything_ in the library instead of just what they need.

Re: Spacex Launch Webcast: Formosat-5 Mission

#48

Earlier quoted context omitted.

I'd blame your source code more than Jenkins. Our jenkins instance runs our CI in a couple of minutes.

Not everyone is working on projects that are little more than CRUD webapps. I've worked on code that took hours to compile even on beefy machines.

I've worked on code that took that long to compile, and the cause of the problem was usually bad recursive makefiles doing work over and over again.

At the other extreme I've also worked at Google and have seen insanely complex C++ code bases compile in 30 seconds flat.

Multiple hour build times usually show that nobody smart enough had the interest and authority to solve the problem properly. It doesn't generally mean that your project is awesome. It certainly isn't something that I would brag about.

Re: Spacex Launch Webcast: Formosat-5 Mission

#49
post #34

Earlier quoted context omitted.

Probably a giant C++ codebase. Our CI runs can take well over an hour. C++ compiles so damn slowly compared to Java.

You should probably hire better C++ developers if it takes that long.

Maybe you shouldn't prejudge the quality of developers on a project you know nothing about

Re: Spacex Launch Webcast: Formosat-5 Mission

#50

Earlier quoted context omitted.

You should probably hire better C++ developers if it takes that long.

you should probably become more experienced in c/c++ development before sharing your opinion

You should see how quick C++ compilation times can be a competent organization like Google before dismissing that opinion.
Post reply on HN