From nobody Sun Dec 17 14:14:17 2023 X-Original-To: freebsd-ports@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 4StQ1r3gYBz53gpm for ; Sun, 17 Dec 2023 14:14:24 +0000 (UTC) (envelope-from daniel.engberg.lists@pyret.net) Received: from smtp-42ad.mail.infomaniak.ch (smtp-42ad.mail.infomaniak.ch [84.16.66.173]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "relay.mail.infomaniak.ch", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4StQ1p52F3z3CJ7 for ; Sun, 17 Dec 2023 14:14:22 +0000 (UTC) (envelope-from daniel.engberg.lists@pyret.net) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=pyret.net header.s=20231006 header.b=EwKsP0E9; spf=pass (mx1.freebsd.org: domain of daniel.engberg.lists@pyret.net designates 84.16.66.173 as permitted sender) smtp.mailfrom=daniel.engberg.lists@pyret.net; dmarc=pass (policy=reject) header.from=pyret.net Received: from smtp-2-0000.mail.infomaniak.ch (unknown [10.5.36.107]) by smtp-2-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4StQ1k1rjkzMpxPV for ; Sun, 17 Dec 2023 14:14:18 +0000 (UTC) Received: from unknown by smtp-2-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4StQ1j6nXZzMpnPn for ; Sun, 17 Dec 2023 15:14:17 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pyret.net; s=20231006; t=1702822458; bh=RaC78QyjmaYZFWwmYD9yxNg3+66QEMy0ZHN8kh19L/4=; h=Date:Subject:From:Reply-To:To:From; b=EwKsP0E9BwwvLi+LOWk6wjyQWt/+3z5+N8pLh8o27P5LlkzpQkbAHBl5ooehmunjC 4yqqhDFEA+PHiCTjHZG+1fLtWOGXdXeHI4g6/ZHMftNBJP49TxUD+D4N4wQG0pCGcQ g/iQmwm2cgEvBxxIIM3XbO5Ru7FPup1ODarwOomaRcL6AOSi9wiBId6sC40amhodzn Q4RxFrRRiz7XaUXGRCZvE0sdkZooQCisxPezPO8qNPpD0/6Jah/J6LRsEYqtLZ/2+h ssHjVPtyiL22FsrAqwy2mkLTgL3k3H0zla8Tr7azYXvEHuypRMdvyonmEP/kGJ+J/m 1R3vC11MDY0WA== Message-ID: Date: Sun, 17 Dec 2023 15:14:17 +0100 Subject: Re: We need to do something about build times From: Daniel Engberg Reply-To: Daniel Engberg To: "freebsd-ports@freebsd.org" List-Id: Porting software to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-ports List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-WS-User-Origin: eyJpdiI6Im42R2p2RS9ybjcyemhGMXMzZXVmd2c9PSIsInZhbHVlIjoiK2lMZzkxeFFSTVNEZUNsSmI5ODFRdz09IiwibWFjIjoiM2MxYjgyNjkyM2Y1ZjMyYWQzNTVjMGU4OTg1MjFhNGExODhlYWM3ODMzMmE3OWE3YjdmZWI0ZGU4ZTljYzllOSIsInRhZyI6IiJ9 X-WS-User-Mbox: eyJpdiI6InIyWTBaWGtpWnl5QytGOXN0R252OFE9PSIsInZhbHVlIjoiTWdEUUpXVVhDUkJKNnR4eG92Z05wQT09IiwibWFjIjoiNDA5YTNlODg1ODRkYzZiZGNmODI2N2IzODI3YWUwN2IwMjg5NGY0ZjJlMDg0ZWRiYTM5NWYxMjgyYTM3NmQxNiIsInRhZyI6IiJ9 X-WS-Location: eJxzKUpMKykGAAfpAmU- X-Mailer: Infomaniak Workspace (1.3.612) X-Infomaniak-Routing: alpha X-Spamd-Result: default: False [-3.30 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FAKE_REPLY(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[pyret.net,reject]; RWL_MAILSPIKE_VERYGOOD(-0.20)[84.16.66.173:from]; R_SPF_ALLOW(-0.20)[+ip4:84.16.66.168/29]; R_DKIM_ALLOW(-0.20)[pyret.net:s=20231006]; RCVD_IN_DNSWL_LOW(-0.10)[84.16.66.173:from]; MIME_GOOD(-0.10)[text/plain]; HAS_REPLYTO(0.00)[daniel.engberg.lists@pyret.net]; RCPT_COUNT_ONE(0.00)[1]; PREVIOUSLY_DELIVERED(0.00)[freebsd-ports@freebsd.org]; MLMMJ_DEST(0.00)[freebsd-ports@freebsd.org]; TO_DN_EQ_ADDR_ALL(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; ARC_NA(0.00)[]; REPLYTO_EQ_FROM(0.00)[]; DKIM_TRACE(0.00)[pyret.net:+]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:29222, ipnet:84.16.64.0/19, country:CH]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4StQ1p52F3z3CJ7 X-Spamd-Bar: --- Hi, Given the discussion about build times I decided test a handful of ports to= see if we could reduce time spent just by converting to either CMake or Me= son depending on what upstream offers. Hardware: Oracle VM, 4x Neoverse N1 cores, 24Gb of RAM Software: FreeBSD 14.0, Poudriere (devel) 3.4.99.20231211 archivers/zstd=09=09gmake =09=09--> meson audio/flac=09=09libtool=09=09--> cmake audio/opus=09=09gmake, libtool=09--> meson graphics/lcms2=09=09libtool=09=09--> meson graphics/webp=09=09libtool=09=09--> cmake multimedia/libmediainfo libtool=09=09--> cmake multimedia/libzen=09libtool=09=09--> cmake multimedia/mp4v2=09gmake, libtool=09--> cmake net/libngtcp2=09=09libtool=09=09--> cmake www/libnghttp3=09=09libtool=09=09--> cmake www/libnghttp2=09=09libtool=09=09--> cmake Makefile / Autotools [00:08:20] Built ports: www/libnghttp2 archivers/zstd multimedia/libzen gra= phics/tiff www/libnghttp3 ftp/curl audio/flac graphics/lcms2 graphics/webp = multimedia/mp4v2 audio/opus net/libngtcp2 multimedia/libmediainfo [132aarch64-dev-default] [2023-12-17_12h42m54s] [committing] Queued: 13 Bui= lt: 13 Failed: 0=C2=A0 Skipped: 0=C2=A0 Ignored: 0=C2=A0 Fetched: 0=C2= =A0 Tobuild: 0=C2=A0=C2=A0 Time: 00:08:18 CMake / Meson [00:05:16] Built ports: archivers/zstd www/libnghttp2 multimedia/libzen gra= phics/tiff www/libnghttp3 audio/flac ftp/curl graphics/lcms2 graphics/webp = multimedia/libmediainfo multimedia/mp4v2 net/libngtcp2 audio/opus [132aarch64-dev-default] [2023-12-17_13h06m03s] [committing] Queued: 13 Bui= lt: 13 Failed: 0=C2=A0 Skipped: 0=C2=A0 Ignored: 0=C2=A0 Fetched: 0=C2= =A0 Tobuild: 0=C2=A0=C2=A0 Time: 00:05:13 It may not be the most exact benchmark but results are reproducible. Keep i= n mind that this is more or less a free performance improvement without any= hardware modifications. While some projects benefit more than others there= might be cases where switching isn't possible without upstreaming changes = but it's likely worth the effort in the long run as you in general see an i= mprovment. I'd also like to remind people that while CMake and Meson can ta= ke a little while to build initially gmake and/or libtool also have their d= ependency chain so none are "free" and the difference is likely less than w= hat you expect. Best regards, Daniel (diizzy@)