public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
From: Thomas Schwinge <thomas@codesourcery.com>
To: Dodji Seketeli <dodji@redhat.com>
Cc: <libabigail@sourceware.org>
Subject: Re: [PATCH] Promote 'tests/runtestslowselfcompare.sh' to 'tests/runtestselfcompare.sh'
Date: Wed, 5 Jan 2022 17:10:23 +0100	[thread overview]
Message-ID: <87wnjew4cw.fsf@euler.schwinge.homeip.net> (raw)
In-Reply-To: <87a6gbeem2.fsf@seketeli.org>

Hi Dodji!

Happy New Year to y'all, too!


On 2022-01-04T15:53:57+0100, Dodji Seketeli <dodji@redhat.com> wrote:
> Thomas Schwinge <thomas@codesourcery.com> a écrit:
>
>> Per commit cac59a176a0c0d6d6c693cb1cfb475517ec33e97
>> "Bug 26769 - Fix missing types in abixml output":
>>
>> |    * tests/runtestslowselfcompare.sh.in: New test that compares
>> |    libabigail.so against its own ABIXML representation.
>>
>> I consider this to be a pretty important test case -- "eat our own dog
>> food".
>>
>> Thus, I find this a bit unfortunate:
>>
>> |    * tests/Makefile.am: Add the new test runtestslowselfcompare.sh to
>> |    source distribution.  This test is too slow to be run during the
>> |    course of 'make check'.  It takes more than 5 minutes on my slow
>> |    box here.  Rather, it can be run using 'make check-self-compare'.
>> |    I plan to run this before releases now.
>>
>> ..., that is, that 'tests/runtestslowselfcompare.sh' isn't run during
>> standard 'make check'.
>>
>> On my eight years old Dell Precision M4700, I see:
>>
>>     $ \time make check TESTS=runtestslowselfcompare.sh ENABLE_SLOW_TEST=yes
>>
>>     20.19user 0.64system 0:20.83elapsed 100%CPU (0avgtext+0avgdata 970468maxresident)k
>>     20.25user 0.51system 0:20.83elapsed 99%CPU (0avgtext+0avgdata 969984maxresident)k
>>     20.47user 0.53system 0:20.99elapsed 100%CPU (0avgtext+0avgdata 970016maxresident)k
>>
>> So, ~21 s.
>
> On my machine (AMD FX8350 box) it's really still much longer than that, as
> you pointed above.  And I know users who are in the same case, still.
> Yeah, surprising, I know.  Your box is more than 10 times faster than
> mine, it seems.

"Interesting" ;-) -- thanks for confirming your numbers.

Per a quick web search, your AMD FX8350 would be just a little older than
my Dell Precision M4700 with "Intel(R) Core(TM) i7-3740QM CPU @ 2.70GHz",
so I wonder where the rather big difference is coming from.  Mine has
24 GiB of RAM, and I'm caching the "WDC WD7500BPKT-7" HDD with a
"KINGSTON SA400S3" SSD; maybe that's it.

>> All the other test cases, running in parallel (just '-j5'):
>>
>>     $ \time make check -j5 # with default 'ENABLE_SLOW_TEST=no'
>>
>>     364.42user 31.21system 1:02.64elapsed 631%CPU (0avgtext+0avgdata 605568maxresident)k
>>     359.50user 31.18system 0:59.43elapsed 657%CPU (0avgtext+0avgdata 605720maxresident)k
>>     359.72user 30.87system 0:59.44elapsed 657%CPU (0avgtext+0avgdata 605292maxresident)k
>>
>> So, ~61 s.  Additionally running 'tests/runtestslowselfcompare.sh':
>>
>>     $ \time make check -j5 ENABLE_SLOW_TEST=yes
>>
>>     389.44user 30.95system 1:06.35elapsed 633%CPU (0avgtext+0avgdata 971036maxresident)k
>>     387.47user 30.78system 1:05.42elapsed 639%CPU (0avgtext+0avgdata 971000maxresident)k
>>     388.99user 32.30system 1:04.94elapsed 648%CPU (0avgtext+0avgdata 970356maxresident)k
>>
>> So, ~66 s, and thus 'tests/runtestslowselfcompare.sh' makes the
>> 'make check -j5' take just ~5 s longer -- acceptable, in my opinion.
>>
>> Per later commit b56e5aeb409b43fefc01e0397346b66d83e28030
>> "CONTRIBUTING: Update instructions about regression tests", it was noted
>> that...
>>
>> | This is an important regression test.  The
>> | problem is that it can takes twice as much time as make distcheck.  So
>> | we've put it into its own separate target.
>>
>> Given the "5 minutes" number from above, this comment means that a
>> 'make distcheck' (or rather 'make distcheck-fast', I suppose?)
>
> Well, you are maybe reading too much into that sentence :-)  Since that time,
> make distcheck grew slower.  So I guess the test now takes roughly the
> same time as make distcheck or make distcheck-fast.
>
>> would run
>> ~2.5 min?  I've got the following numbers:
>>
>>     $ \time make distcheck-fast -j5 # with default 'ENABLE_SLOW_TEST=no'
>>
>>     935.67user 72.00system 4:58.90elapsed 337%CPU (0avgtext+0avgdata 986144maxresident)k
>>     946.23user 68.60system 4:59.07elapsed 339%CPU (0avgtext+0avgdata 984372maxresident)k
>>     935.33user 67.69system 5:01.18elapsed 333%CPU (0avgtext+0avgdata 985388maxresident)k
>>
>> So, ~5 min, and thus for me, 'tests/runtestslowselfcompare.sh' alone
>> takes just 1/15 the time of that, not "twice as much".
>>
>> Additionally enabling 'tests/runtestslowselfcompare.sh' here:
>>
>>     $ \time make distcheck-fast -j5 ENABLE_SLOW_TEST=yes
>>
>>     965.52user 67.06system 5:04.04elapsed 339%CPU (0avgtext+0avgdata 984760maxresident)k
>>     981.54user 67.57system 4:57.65elapsed 352%CPU (0avgtext+0avgdata 985836maxresident)k
>>     972.32user 68.58system 5:09.81elapsed 335%CPU (0avgtext+0avgdata 985224maxresident)k
>>
>> ..., again 'tests/runtestslowselfcompare.sh' makes that just take ~5 s
>> longer -- acceptable, in my opinion.
>
> On my machine, your patch "make check" takes 5 minutes longer than
> without.  So I am reluctant to apply it.

Sure, understood, and no worries.

> In practise, it's not a big deal, I think, as I run 'make
> check-self-compare' very regularly.
>
> As bizarre as it seems, the tendency I'd like us to move towards is less
> tests "by default".  That is, split out the binaries that we have in the
> tarball today and keep a very minimal set of tests.

My goal is just to establish a testing baseline, so that I can be
reasonably sure that changes I may be doing don't regress anything.
For the time being, I might just locally set 'ENABLE_SLOW_TEST=yes'; and
at least we've now got some numbers (confirmed/new) in the archives.

> The tarball is too
> big as it is, and yet, there are tons of tests that I'd like to run that
> are not present there.
>
> That is why I'd like us to progress towards having much more tests that
> are in a separated "test project", somehow.  In that project, we'd
> either have binaries locally present or references to binaries (like
> distros packages over the interweb) to grab and run comparisons on.

Yes, that makes sense.  (I did wonder about the Git repository/checkout
size as well as the fact that huge binary blobs are stored there without
sources reference.)

> So I would not spent to much time on these tests that are locally
> present in the tarball.  Rather, if you are interested in this super
> important testing strategy project, we could discuss it a bit more in
> depth.

Heh, not at this time, sorry.  ;-)


Grüße
 Thomas
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955

      reply	other threads:[~2022-01-05 16:10 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-24 10:30 [PATCH] Bug 26769 - Fix missing types in abixml output Dodji Seketeli
2021-12-22  9:54 ` 'tests/runtestslowselfcompare.sh' (was: [PATCH] Bug 26769 - Fix missing types in abixml output) Thomas Schwinge
2021-12-22 10:49   ` [PATCH] Promote 'tests/runtestslowselfcompare.sh' to 'tests/runtestselfcompare.sh' Thomas Schwinge
2022-01-04 14:53     ` Dodji Seketeli
2022-01-05 16:10       ` Thomas Schwinge [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wnjew4cw.fsf@euler.schwinge.homeip.net \
    --to=thomas@codesourcery.com \
    --cc=dodji@redhat.com \
    --cc=libabigail@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).