News for hackers. Stuff that matters.
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.
Re:Rust is actually portable by int_19h on Thursday July 28, 2022 @04:38AM (#32261780)
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.
Re:Rust is actually portable by fpoling on Thursday July 28, 2022 @05:11AM (#32262012)
On ThinkPad X1 laptop with 8 hyperthreads it takes 6-7 hours to compile Chromium from sources these days.
Re:Rust is actually portable by lloeki on Thursday July 28, 2022 @09:07AM (#32263763)
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!

Re:Rust is actually portable by fpoling on Thursday July 28, 2022 @10:30AM (#32264805)
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.
Re:Rust is actually portable by lloeki on Thursday July 28, 2022 @09:02AM (#32263709)
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.

Re:Rust is actually portable by ajconway on Thursday July 28, 2022 @07:29AM (#32262929)
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.
Re:Rust is actually portable by Cloudef on Thursday July 28, 2022 @03:53AM (#32261555)
The joys of c++
Re:Rust is actually portable by FpUser on Thursday July 28, 2022 @06:47AM (#32262708)
You saying that if rewritten in Rust Chromium will compile much faster?
Re:Rust is actually portable by Cloudef on Thursday July 28, 2022 @08:31AM (#32263407)
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.
Re:Rust is actually portable by FpUser on Thursday July 28, 2022 @09:11AM (#32263795)
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.
Re:Rust is actually portable by est31 on Thursday July 28, 2022 @11:58AM (#32266107)
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++.
Re:Rust is actually portable by FpUser on Thursday July 28, 2022 @01:56PM (#32267946)
>"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.

Re:Rust is actually portable by lloeki on Thursday July 28, 2022 @09:00AM (#32263696)
in such large projects linking is also a severe bottleneck, which I hear has been repeatedly tried to be addressed with alternative linkers