Re:Rust is actually portable
by withinboredom on Thursday July 28, 2022 @03:32AM
(#32261449)
I don’t know what it is these days, but I can remember waiting 12 hours to compile Chromium from scratch while the entire x-windows + KDE and friends taking only 4-5 hours to compile from scratch. This was back in 2014 on a little two core laptop.
[ Parent
| on HN ]
Back in Gentoo days, I remember that the largest behemoth when it came to compile times was OpenOffice.
Re:Rust is actually portable
by boondaburrah on Thursday July 28, 2022 @06:31AM
(#32262608)
In my gentoo days, chromium would take longer to compile then the rest of @world combined.
On ThinkPad X1 laptop with 8 hyperthreads it takes 6-7 hours to compile Chromium from sources these days.
parallelising the build helps, but RAM is also a big factor here since if you come short (which is more likely to happen when parallelising) swapping will make things grind.
if you're lucky enough to have enough RAM to spare (which would be, like, a lot!) you can also build in a tmpfs ramdisk!
The laptop has 32 GB and the amount of RAM is not a limit here. With sufficiently fast SSD the storage is not a limiting factor either. Even RAM speed is not a big factor, it is still single thread performance that affects compilation speed for C++ most. Well, at least for the type of C++ that Chromium uses.
Re:Rust is actually portable
by antoinealb on Thursday July 28, 2022 @07:56AM
(#32263125)
Chromium does not use Bazel, but GN. I would assume they still build most of their dependencies from source, as this is the way Google tends to setup build systems.
one of these being libv8, which can take quite some time itself.
it can also be very memory consuming so as soon as you hit swap things slow down a lot.
Could it be that the majority of those 12 hours were taken by running tests?
Re:Rust is actually portable
by withinboredom on Thursday July 28, 2022 @07:32AM
(#32262953)
Nope. This was with Gentoo, no tests were run.
The joys of c++
You saying that if rewritten in Rust Chromium will compile much faster?
No, rust is another slow language to compile. But there are faster ones such as C and zig. You can reduce C++ compilation times by following certain strict coding conventions, but it only gets you so far.
I actually use C++ to write business backends. They're of decent size but nothing monstrous. Compile is almost always nearly instant for me. Full rebuild is still under a minute. Sure I use multithreaded build and am trying not to expose unneeded stuff in headers.
You likely use "C with classes" C++, so C++03 for the most part, not the generics heavy C++ where you put everything into the header because it needs to be generic. This has massive advantages for compile time. Also "decent size" is a term with many definitions. E.g. Chromium has 12 million lines of C++.
>"You likely use "C with classes"
I do write templates but not very often. Also when I do I try to consume those in a single file so that they could be declared there as well without propagating into a header. Not a good idea for writing libraries but works for applications.
>"Chromium has 12 million lines of C++."
I am far short of that of course.