Re: RPi 4 build time

From: tech-lists <tech-lists_at_zyxst.net>
Date: Sun, 23 May 2021 01:12:23 UTC
On Sat, May 22, 2021 at 01:12:23PM -0700, Mark Millard via freebsd-arm wrote:
>of "cold" cache). Another form of "cold" cache could
>result from changing compiler options that would change
>the code generated for (nearly) every file produced so
>that the cache becomes ineffective.
>
>"hot" refers to having a significant amount of
>"effective/used cache content" that makes a notable
>difference in the build times. I'm not that impressed
>with the terminology but it is was I've seen used the
>most frequently for ccache. So I used it.

OK

>I'm confused how you can know it "provides tremendous
>speedups" while simultaneously not knowing "when ccache
>was last used for building anything". 

what I meant was "I'm not sure of the last time I built
anything that used ccache" or, more accurately, "I can't remember the
last time I built anything on that machine" because some building uses
ccache, others not. But I know that buildworld and friends use ccache.

>Remember that when comparing to my "from scratch"
>build times: in my build everything was compiled
>and linked, no prior build materials around to be
>reused. So I'm reporting a context where I know
>how to interpret the result and I'm presenting
>enough history to establish a repeatable context.

OK I ran another build. Same sources.

1. rm -rf /usr/obj && mkdir /usr/obj
2. rm -rf /var/cache/ccache && mkdir /var/cache/ccache

then:

make -j10 cleanworld started on Sat May 22 19:10:02 BST 2021
make -j10 cleanworld completed on Sat May 22 19:10:02 BST 2021
#
make -j10 cleandir started on Sat May 22 19:10:02 BST 2021
make -j10 cleandir completed on Sat May 22 19:10:37 BST 2021
#
make -j10 clean started on Sat May 22 19:10:37 BST 2021
make -j10 clean completed on Sat May 22 19:10:58 BST 2021
#
make -j6 buildworld started on Sat May 22 19:10:58 BST 2021
make -j6 buildworld completed on Sun May 23 00:47:03 BST 2021
#
make -j6 buildkernel started on Sun May 23 00:47:03 BST 2021
make -j6 buildkernel completed on Sun May 23 01:20:31 BST 2021

so buildworld took 5hr 36min 5s and buildkernel 33min 28s from cold.

earlier, I wrote:

>> make -j6 buildworld started on Sat May 22 15:44:11 BST 2021
>> make -j6 buildworld completed on Sat May 22 16:20:48 BST 2021

>> make -j6 buildkernel started on Sat May 22 16:20:48 BST 2021
>> make -j6 buildkernel completed on Sat May 22 16:49:18 BST 2021

36min 37s for make buildworld and 28min 30s for make buildkernel. This
is what I meant by "tremendous speedups". Other things get built on this
machine; it has a poudriere instance. So I guess anything using C or C++
will use the ccache when building. I might not know exactly *when*
unless I also know (when whatever the machine was compiling), it used
something that ccache could be used for.
-- 
J.