emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master afc0bfd380: Speed up loaddefs-generate on slow disks


From: Lars Ingebrigtsen
Subject: Re: master afc0bfd380: Speed up loaddefs-generate on slow disks
Date: Sat, 04 Jun 2022 14:30:15 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

It was suggested that it might be interesting to see how our build times
have developed over time, so I had my build machine run a "make
bootstrap" each Monday going back to 2018 with this snappy one liner:

d=0; while [ $d -lt 1400 ]; do dat=`date -u -d "last Monday - $d days"`; git 
checkout master; git checkout `git rev-list -1 --before="$dat" HEAD`; git clean 
-xf;  echo $dat >> /tmp/clog; { time make -j32 2>/dev/null ; }  2>>/tmp/clog; 
d=$(($d + 7)); done

I ran this three times and picked the median build time for each date,
and viola:  https://quimby.gnus.org/circus/stats-emacs/build-times.html

Or if you prefer it in picture form:

PNG image

This is with -j32, so it's quite susceptible to perturbations depending
on whether somebody did something to make the Makefile more or less
multithreaded.  Which mostly explains the sudden dip at the end there,
because the build is now more parallel than ever.  So it's useful to
compare with actual CPU usage:

PNG image

Which is less noisy and perhaps tells us more.

Now, it's natural for Emacs build times to creep up (one might think),
as we're adding more...  stuff.  But there's discontinuities in the
chart, and I think we can say that something happened in the weeks
before Feb 7 2019, Sep 5 2019, May 26 2021, Feb 24 2022 and Apr 7 2022
that might be useful to look into.  (Zooming on the chart on the web
page gives you the dates, if somebody wants to investigate.  And also
why it seems like we're oscillating between 930 and 1150 seconds the
past few months.)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no


reply via email to

[Prev in Thread] Current Thread [Next in Thread]