Re: RPi 4 build time

Mark Millard via freebsd-arm <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>

On 2021-May-21, at 13:58, Mark Millard <marklmi at yahoo.com> wrote:

> On 2021-May-21, at 13:07, Evgeniy Khramtsov via freebsd-arm <freebsd-arm at freebsd.org> wrote:
> 
>> How long are compile times for aarch64 8 GB RPi? It is especially
>> interesting to know about overclocked results. I guess buildworld time
>> would describe it well, but any heavy port (ex. rust) would also be great.
> 
> To get useful figures may require specification of more context.
> For example, building rust uses over 17 GiBytes of temporary file
> space. This suggests that its build time may be very dependent on
> the media in use. Also the configuration of building ports in
> parallel and/or allowing a port builder to potentially have an
> ready-to-run process for each of the 4 cores makes for large
> differences.
> 
> Also, for buildworld, there is a large difference for when a
> bootstrap set of clang/llvm materials is built vs. when that
> extra clang/llvm material does not build (even if the normal
> llvm material are built).
> 
> There are also issues like if ccache is in use and is providing
> a signficant amount of hot-cache results. (I do not use ccache.)
> The same sort of thing apply to META_MODE use and rebuilds: was
> the build "from scratch" vs. just a partial rebuild? (I do use
> META_MODE.)
> 
> I've not done lang/rust builds on a RPi4B. (And, for ports, I
> normally allow multiple ports to build at once, each allowed
> to have a ready-to-run process per core.)
> 
> As for buildworld/buildkernel "from scratch", that I have done
> and recorded some figures:
> 
> Context:
> 
> make[1]: "/usr/fbsd/mm-src/Makefile.inc1" line 339: SYSTEM_COMPILER: Determined that CC=cc matches the source tree.  Not bootstrapping a cross-compiler.
> make[1]: "/usr/fbsd/mm-src/Makefile.inc1" line 344: SYSTEM_LINKER: Determined that LD=ld matches the source tree.  Not bootstrapping a cross-linker.
> 
> I use a USB3 SSD to hold the UFS file system, swap space,
> and the msdos file system used in booting. No microsd card
> use at all. The USB3 SSD seems to be fairly effective at
> making the storage-I/O performant for the RPi4B context.
> 
> And oddity of my context is I have the code generation set
> up to tune for cortex-a72 specifically. Both the system doing
> the build and the built system were based on such tuning.
> 
> ENVIRONMENT: -mcpu=cortex-a72 RPi4B @ 2000 MHz, hw.physmem:8464072704 :
> ( arm_freq=2000, sdram_freq_min=3200, force_turbo=1 )
> 
> World build completed on Fri Mar 26 19:10:11 PDT 2021
> World built in 22491 seconds, ncpu: 4, make -j4
> Kernel build for GENERIC-NODBG completed on Fri Mar 26 19:38:33 PDT 2021
> Kernel(s)  GENERIC-NODBG built in 1702 seconds, ncpu: 4, make -j4
> 
> So World+Kernel took somewhat under 6 hrs 45 min to build.
> 
> # ~/fbsd-based-on-what-freebsd-main.sh 
> merge-base: 7381bbee29df959e88ec59866cf2878263e7f3b2
> merge-base: CommitDate: 2021-03-12 20:29:42 +0000
> def0058cc690 (HEAD -> mm-src) mm-src snapshot for mm's patched build in git context.
> 7381bbee29df (freebsd/main, freebsd/HEAD, pure-src, main) cam: Run all XPT_ASYNC ccbs in a dedicated thread
> FreeBSD RPi4B 14.0-CURRENT FreeBSD 14.0-CURRENT mm-src-n245445-def0058cc690 GENERIC-NODBG  arm64 aarch64 1400005 1400005
> 
> I've gotten very similar time frames from builds that used
> a ZFS file system on a USB3 SSD of the same type instead.

I forgot to mention that for the buildworld/buildkernel
both the running system and the built materials were
non-debug builds, despite the build being of main [so:
14].


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.