Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Compile time is a big deal when you have millions of lines of code that constantly change and very expensive devs that are spending large amounts of time waiting. The infrastructure Google uses to distribute and track builds across datacentres and the world to make compile time of large applications bearable isn't exactly trivial.

Optimal executables aren't that important most of the time. Hardware is cheaper than dev time and the gain of 'optimal' isn't much for the compile time trade off.



Ideal scenario would be to have a "--full-optimize" flag or something that you use for the production build. And for casual dev you get quick compilation. Probably easier said than done.


>Compile time is a big deal when you have millions of lines of code that constantly change and very expensive devs that are spending large amounts of time waiting.

1) Sure. Most of us do not. So why should we care and/or trade other stuff for compile time improvements?

2) That's when you don't have a module loading system and have to build everything everytime.


1) Cause the creators of the language decided to. Don't like it, feel free to fork it.


> Don't like it, feel free to fork it.

Or use gccgo, which piggybacks off of the many optimizations that have been used in the gcc collection[0] over the years.

When discussing compilation of Go, people here often seem to forget that two first-class compilers exist for the language.

[0] Yes, I am aware that this is like saying "ATM machine"


>Cause the creators of the language decided to

Which is an no-op answer. That can be the answer for any kind of engineering decision, including the most idiotic ones.

We're concerned with what's best here, not merely with what has been decided.

>Don't like it, feel free to fork it

Another BS non answer.


The language authors obviously disagree with it being an "idiotic" engineering choice. Your choices of tradeoffs don't match theirs, and engineering is never as simple as "I'm right, you're wrong", as you well know.

Yeah I was being facetious with my original reply, and frankly I get your point, I was pointing out however that you _can_ fork it to make it work the way you'd prefer. If you truly don't want to (or can't) do that, then open a ticket or send something to a mailing list.

If this really matters to you, do something about it that can make an actual difference.


1) no comment.

2) This is about the linker, not the compiler. You should compare the compilation times with the linking times instead of making assumptions.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: