From nobody Sat Dec 06 17:34:01 2025 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dNwNF1p5cz6HqW3 for ; Sat, 06 Dec 2025 17:34:21 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [IPv6:2a00:1450:4864:20::52d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dNwND3Hb5z3S8q for ; Sat, 06 Dec 2025 17:34:20 +0000 (UTC) (envelope-from mjguzik@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b=nDQsV9cR; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of mjguzik@gmail.com designates 2a00:1450:4864:20::52d as permitted sender) smtp.mailfrom=mjguzik@gmail.com Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-640a3317b89so3959796a12.0 for ; Sat, 06 Dec 2025 09:34:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765042454; x=1765647254; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=EPXo6RT2Os2R8XJz7dTdIaWFeG4nNn25DshKrPv5EmQ=; b=nDQsV9cRoDnPho/pJmJA5qjv8kBWBm2LY11F70pAPjGj52Q9XWvwhjon8sPhwt39GG H+52wEEiITVHDp1q5j4101THV5sf29ToVxvK/zikmggd89kM52g3Tnewvt0adB9c8ONs p+Sul4ozcly68Tj4AmajRoyGxVbgBd0AYpw6sBvqfu968wF8S9wZyuGDS2uyorICosTe h5tF2HlMhsQhSojc3MATUzphApFlYZ3M28lGCohVBjioYW9huC3PBuAy/VATryuJKGEx H6E2Iw4orbqIJ1jnIrhfEr484YoNgCaPJkutXkWa85+5FR9X0Rzl2pA+qT7QPtQhL3bg HODw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765042454; x=1765647254; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=EPXo6RT2Os2R8XJz7dTdIaWFeG4nNn25DshKrPv5EmQ=; b=kbgqgzx94tMeHTRHuoqcCnsgImUOWM+mMZjxK6cVaPPibXMZUHv30ncVwiwu5/CQ7S NiA1oRbOBtZPRl4HHoJhYhBqaNY6SXYChqsEHy9mKzPrnscESEzFXbBROyq5nNhtahSk MHZ1HwQxNzcAH7Vk8wkhro8tVjmWnf0th7NNpX9EDzD31Aq+vkUPSENsmctfk6ZaPiy/ EdTH6UK3EggPCRNarVQ2Xfdp1t0gD30T2rlEz6uh6cVz7czW3oXqRaiFOXHvxWbbYgxc dNkSI8EGP00TqWrLyoZQCkxeW779ZtJSRJZQE/YqK9FYgkOzZrJhf4CpijgzKnZoXNCX cobg== X-Gm-Message-State: AOJu0Yw9+hOyysZCE7D8IdfrJtkHkySYkIauweomkM0dmhcnqwwStinT YrgRUanFBFJtwssR6ntJR2OSltZnrDlfFqfqvSfE5Cz/Ny+Pu0BD/ZzXxgvJr+v83z8I0zuZQTQ CDt0q8KODlBgxPjMdTkQ0Nwh+kXZ+qRdcKUIK X-Gm-Gg: ASbGnctYnpJhh1Cw4pg8geAYj8P73V+gCQLx1r7Vc9Xt/poEcxGZZBBF5Qn/xHKM3z6 KF+nLsuyZK9Ri8UKOQ43P/HVEzbEaozq8Kh92+AUaFL1sAsOVHdd9XrojiKAQEN92nq40GtrHqR cQpKfuMyE3/VbAtvFRGSYdcHp1oQOu4zUEhFJpWqR6KRQ9li81+T3keyOs3J9Q9kzXXpphRym1V 24QE4DI7Pq4OjNZmEa2PLvokJXd4lsR3FokrKioCO/NEBCvp0SFZCsdhPrpVlx7gcdqHqtHG/MZ vLhvpUdZjgt7pjvPBzft2LSQOA== X-Google-Smtp-Source: AGHT+IGgZ9GmyaKpPTPRrbg+lTUIPKpdfN1GG4nWuSok8zlEPUaCChJK5tzcwcwcFZeLrNeKXQo1BLwfuDKta6mM87g= X-Received: by 2002:a05:6402:50ca:b0:647:54ba:6c42 with SMTP id 4fb4d7f45d1cf-6491a3cc935mr2264342a12.4.1765042453674; Sat, 06 Dec 2025 09:34:13 -0800 (PST) List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org MIME-Version: 1.0 References: In-Reply-To: From: Mateusz Guzik Date: Sat, 6 Dec 2025 18:34:01 +0100 X-Gm-Features: AQt7F2pEY911gVxh4crL5jIxodu_KeQuIeQI9r1KUd0_WGlOimRlTywbnGSkr7M Message-ID: Subject: Re: performance regressions in 15.0 To: Konstantin Belousov Cc: FreeBSD Current Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: --- X-Spamd-Result: default: False [-4.00 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.997]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36:c]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; MISSING_XM_UA(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::52d:from]; RCVD_COUNT_ONE(0.00)[1]; FREEMAIL_ENVFROM(0.00)[gmail.com]; FREEMAIL_FROM(0.00)[gmail.com]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; MID_RHS_MATCH_FROMTLD(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-current@freebsd.org]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+] X-Rspamd-Queue-Id: 4dNwND3Hb5z3S8q On Sat, Dec 6, 2025 at 6:31=E2=80=AFPM Mateusz Guzik wr= ote: > > On Sat, Dec 6, 2025 at 6:25=E2=80=AFPM Konstantin Belousov wrote: > > > > On Sat, Dec 06, 2025 at 11:50:08AM +0100, Mateusz Guzik wrote: > > > II. compilation speed > > > > > > The the real and serious problem. Both versions of the system ship th= e > > > same clang version: > > > FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.gi= t > > > llvmorg-19.1.7-0-gcd708029e0b2) > > > Target: x86_64-unknown-freebsd14.3 > > > Thread model: posix > > > InstalledDir: /usr/bin > > > > > > FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.gi= t > > > llvmorg-19.1.7-0-gcd708029e0b2) > > > Target: x86_64-unknown-freebsd15.0 > > > Thread model: posix > > > InstalledDir: /usr/bin > > > > > > I found that compiling the will-it-scale suite about doubles in real > > > time needed, along with doubling time spent in userspace. > > > > > > will-it-scale needs a little bit of massaging to work, diff at the en= d. > > > > > > check this out (repeabale): while true; do gmake -s clean && time > > > gmake -s -j 8; done > > > > > > 14.3: > > > gmake -s -j 8 8.93s user 2.03s system 769% cpu 1.42s (1.424) total > > > gmake -s -j 8 9.02s user 2.16s system 757% cpu 1.48s (1.475) total > > > gmake -s -j 8 9.29s user 1.95s system 774% cpu 1.45s (1.450) total > > > gmake -s -j 8 8.97s user 2.46s system 770% cpu 1.48s (1.484) total > > > gmake -s -j 8 9.13s user 2.30s system 773% cpu 1.48s (1.477) total > > 14.3 clang/lld are probably statically linked, but I am not sure. > > Can you confirm this? > > > > They are dynamic, this was switched years ago. > > /usr/bin/clang: ELF 64-bit LSB executable, x86-64, version 1 > (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for > FreeBSD 14.3, FreeBSD-style, stripped > ... but I do see a change in used .sos: /usr/bin/cc: libz.so.6 =3D> /lib/libz.so.6 (0x3d76fc831000) libprivatezstd.so.5 =3D> /usr/lib/libprivatezstd.so.5 (0x3d76fcc0e000) libexecinfo.so.1 =3D> /usr/lib/libexecinfo.so.1 (0x3d76fe213000) libncursesw.so.9 =3D> /lib/libncursesw.so.9 (0x3d76fd1ef000) libthr.so.3 =3D> /lib/libthr.so.3 (0x3d76ff8e5000) libc++.so.1 =3D> /lib/libc++.so.1 (0x3d76ff002000) libcxxrt.so.1 =3D> /lib/libcxxrt.so.1 (0x3d770073c000) libm.so.5 =3D> /lib/libm.so.5 (0x3d7701d4c000) libc.so.7 =3D> /lib/libc.so.7 (0x3d770161d000) libelf.so.2 =3D> /lib/libelf.so.2 (0x3d7701e58000) libgcc_s.so.1 =3D> /lib/libgcc_s.so.1 (0x3d770314a000) libtinfow.so.9 =3D> /lib/libtinfow.so.9 (0x3d7702808000) [vdso] (0x3d76fc3cc000) vs /usr/bin/cc: libprivateclang.so.19 =3D> /usr/lib/libprivateclang.so.19 (0x311e43c000= 00) libprivatellvm.so.19 =3D> /usr/lib/libprivatellvm.so.19 (0x311e48000000= ) libz.so.6 =3D> /lib/libz.so.6 (0x311e4d1a9000) libprivatezstd.so.5 =3D> /usr/lib/libprivatezstd.so.5 (0x311e430cf000) libexecinfo.so.1 =3D> /usr/lib/libexecinfo.so.1 (0x311e4e075000) libncursesw.so.9 =3D> /lib/libncursesw.so.9 (0x311e4e7b3000) libthr.so.3 =3D> /lib/libthr.so.3 (0x311e4f717000) libc++.so.1 =3D> /lib/libc++.so.1 (0x311e502e0000) libcxxrt.so.1 =3D> /lib/libcxxrt.so.1 (0x311e5107d000) libm.so.5 =3D> /lib/libm.so.5 (0x311e52294000) libc.so.7 =3D> /lib/libc.so.7 (0x311e532a7000) libgcc_s.so.1 =3D> /lib/libgcc_s.so.1 (0x311e5414b000) libelf.so.2 =3D> /lib/libelf.so.2 (0x311e514d0000) libtinfow.so.9 =3D> /lib/libtinfow.so.9 (0x311e54751000) libsys.so.7 =3D> /lib/libsys.so.7 (0x311e563ff000) [vdso] (0x311e419d5000) as in the 14 binary does not link to libprivateclang nor libprivatellm > > > > > > 15.0: > > > gmake -s -j 8 19.90s user 3.02s system 773% cpu 2.96s (2.963) total > > > gmake -s -j 8 19.90s user 3.18s system 774% cpu 2.98s (2.979) total > > > gmake -s -j 8 20.24s user 2.90s system 770% cpu 3.00s (3.005) total > > > gmake -s -j 8 19.92s user 3.25s system 771% cpu 3.00s (3.003) total > > > gmake -s -j 8 20.25s user 2.95s system 772% cpu 3.01s (3.006) total > > But 15.0 is definitely dynamically linked. > > > > clang is enormous C++ binary with enormous amount of relocs: > > $ ldd /usr/bin/cc > > /usr/bin/cc: > > libprivateclang.so.19 =3D> /usr/lib/libprivateclang.so.19 (0x27= 417e200000) > > libprivatellvm.so.19 =3D> /usr/lib/libprivatellvm.so.19 (0x2741= 83e00000) > > > > $ objdump -R /usr/lib/libprivateclang.so.19 | wc -l > > 232977 > > $ objdump -R /usr/lib/libprivatellvm.so.19 | wc -l > > 140712 > > > > > > > > > > user time *skyrocketed* > >