• Re: performance regressions in 15.0 [What should be the case for 15.0-RELEASE: WITH_ASSEERT_DEBUG or WITHOUT_ASSERT_DEBUG ?]

    From Mark Millard@marklmi@yahoo.com to muc.lists.freebsd.stable on Tue Dec 9 03:44:38 2025
    From Newsgroup: muc.lists.freebsd.stable

    On Dec 8, 2025, at 11:02, Mark Millard <marklmi@yahoo.com> wrote:
    https://cgit.freebsd.org/src/blame/share/mk/bsd.opts.mk?h=releng/15.0 shows:

    __DEFAULT_YES_OPTIONS = \
    ASSERT_DEBUG \
    . . .

    Looks like it has been that way going back
    into 2014. It suggests that care needs to
    have been taken to not have added any
    expensive asserts, likely including in
    contributed software, such as jemalloc
    updates and others?

    This is a difference with what I tested, by
    the way:

    WITH_MALLOC_PRODUCTION=
    WITHOUT_ASSERT_DEBUG=
    WITHOUT_PTHREADS_ASSERTIONS=
    WITHOUT_LLVM_ASSERTIONS=

    I have not tested how much of a difference
    it makes.

    For reference:

    WITHOUT_ASSERT_DEBUG
    Compile programs and libraries without the assert(3) checks.

    Just to get an idea, I rebuilt my jemalloc 5.3.0 using
    WITH_ASSERT_DEBUG and installed that into the jemalloc
    5.3.0 chroot. I then did a rm -fr in that chroot
    of the prior test build. I then had the chroot rebuild
    from the same source tree it had built with before,
    using the same src.conf as before, trying not to
    vary the build result.
    So this would be a comparison with the 9384 second
    figure for forming the time ratio (WITHOUT_ASSERT_DEBUG).
    It got:
    World build completed on Tue Dec 9 08:44:39 UTC 2025
    World built in 10350 seconds, ncpu: 8, make -j8
    So:
    10350/9384 is a little over 1.10
    jemalloc 5.2.1 / jemalloc 5.3.0, both WITHOUT_ASSERT_DEBUG,
    from previous activity:
    9754/9384 is a little under 1.04
    Using the 15.0 and 14.3 qt6-webengine-6.9.3 quarterly
    times from ampere3 and ampere1:
    53:33:46/38:25:51 approx.= 53.56/38.43 approx.= 1.39
    And the llvm21 21.1.2 quarterly times I'd recently also
    reported for ampere3 (15.0) and ampere1 (14.3):
    21:26:14/15:24:24 approx.= 21.44/15.41 approx.= 1.39
    So, while use of WITH_ASSERT_DEBUG might be contributing
    some, it looks unlikely to be the bulk of the difference
    in the time ratios for 15.0 ampere3 vs. 14.3 ampere1
    quarterly.
    I conclude that this example type of experiment would
    likely have a limited contribution to identifying what
    is going on for the 15.0 jail worlds vs. the 14.3 jail
    worlds (quarterlies) (or the 15.0 quarterly vs. 13.5
    default/latest builds) on ampere3 and ampere1.
    ===
    Mark Millard
    marklmi at yahoo.com
    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21a-Linux NewsLink 1.2