Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w1wKF-000jiS-09 for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Mar 2026 01:00:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w1wKD-006bE1-0H for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Mar 2026 01:00:53 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w1wKC-006bDt-1O for pgsql-hackers@lists.postgresql.org; Mon, 16 Mar 2026 01:00:53 +0000 Received: from fhigh-a7-smtp.messagingengine.com ([103.168.172.158]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w1wKA-00000000JsZ-3BWA for pgsql-hackers@lists.postgresql.org; Mon, 16 Mar 2026 01:00:52 +0000 Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfhigh.phl.internal (Postfix) with ESMTP id C9B2A1400087; Sun, 15 Mar 2026 21:00:49 -0400 (EDT) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-02.internal (MEProxy); Sun, 15 Mar 2026 21:00:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paquier.xyz; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1773622849; x=1773709249; bh=977+1I8Uj1 YK8pK+7KMpObAJAfNN+RBnpDygaw3dWvQ=; b=twicOLb0AN9yt9leOSi14Y6Jw0 c7Fb5ojLw3wTpP6PDm/4PAsx3BZsSH/dQGxx2VJkVi4PI+Y9RxxMkwJn2WA6OhNs W+QSctysE5JfanRc9jQzQLCCjBHelPVinxA9tpWH8qy0hJrUriAqiuc7eHGFuAll IMzzVNBeQduF2FOxmo/n3nmOQ9QmBjg8L3jS5ASvlnqzuJUax+AHz9v9+n37/gA7 +9Dr3wvu19uSNzNep8CZ/FBZA0Lw6SmTp4YHpzdXUvgOWPDwzdfAzRwBY8vcECQF QhRdWOciOiqqIGDtXw3oe1T6a2ZjOc7qwEuLS+KIK3aIHtwoD/ZxphcLOLoA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1773622849; x=1773709249; bh=977+1I8Uj1YK8pK+7KMpObAJAfNN+RBnpDy gaw3dWvQ=; b=oGLzhUzSzexRJAbv+TdsUyli+/G37dX6dWZbM55NlOwZbJBHY7o r3t4uXg7GKPtGro+8hDld/u50ejhBC7PopvJgVwLaII/DoK8kyHHnU7D5cECLrij x+CcGsCuaSmq3BVpK42sI39VAfZwQh1LLMjw7Q4YyWgL4OWrn+52O9r4J2Bwiqn5 YbtUshHUwkqDyUZhH3L3RbbNLVkoI2zqculpuEXzLRucdAxtoYC6Kl4F/6kvZxeb Pe0aYAYwnf4pkP+opYaVzzeN6WRgbhoN7fofZK5Q58xPL4DbitZmEG5nEC3hf1jI AP3/nnD00tD2kZ7SUocG7nvil8Kc/+u2PGA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddvleeileelucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnegfrh hlucfvnfffucdljedtmdenucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttdej necuhfhrohhmpefoihgthhgrvghlucfrrghquhhivghruceomhhitghhrggvlhesphgrqh huihgvrhdrgiihiieqnecuggftrfgrthhtvghrnhepveetjefgjeevgedukeehieeuieeu ieevueeiudegheevuefggfduueelgeelieetnecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomhepmhhitghhrggvlhesphgrqhhuihgvrhdrgiihiidp nhgspghrtghpthhtohepgedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepgihunh gvnhhgiihhohhusehgmhgrihhlrdgtohhmpdhrtghpthhtoheprghnughrvghssegrnhgr rhgriigvlhdruggvpdhrtghpthhtohepphhgshhqlhdqhhgrtghkvghrsheslhhishhtsh drphhoshhtghhrvghsqhhlrdhorhhgpdhrtghpthhtohepsgihrghvuhiikedusehgmhgr ihhlrdgtohhm X-ME-Proxy: Feedback-ID: i0fe9450f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 15 Mar 2026 21:00:46 -0400 (EDT) Date: Mon, 16 Mar 2026 10:00:41 +0900 From: Michael Paquier To: Xuneng Zhou Cc: Andres Freund , pgsql-hackers , Nazir Bilal Yavuz Subject: Re: Streamify more code paths Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="HvpL1o1Dq9R7/rNj" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --HvpL1o1Dq9R7/rNj Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Mar 15, 2026 at 11:47:06AM +0800, Xuneng Zhou wrote: > The updated script now reports speedup separately for the read and > write paths like this: >=20 > hash_vacuum_medium base=3D 33747.2ms patch=3D 27379.7ms 1.23x = ( 18.9%) > read: 4662=E2=86=921612 ops 8238.72=E2=86= =921725.86ms > (4.77x) write: 12689=E2=86=9212651 ops 25146.51=E2=86=9225053.57ms = (1.00x) >=20 > I think it is useful to keep the write-delay option even with this > reporting. Separating the read and write delays also helps reduce the > overall runtime of the tests, especially for large data sizes: we only > slow down the read path while keeping the write path fast. These write numbers are more in line with what I was seeing in my last tests, and I am not going to ignore a 20% runtime reduction. The stats numbers are looking nice, as well. At the end, I have checked the logic of what you are introducing, where things come down to the point of making sure that the data pushed to the callback remains consistent with the paths where _hash_getcachedmetap() is called. I have also cross-checked the data reports by pgstattuple for the relation and the index, to see that these are consistent between HEAD and the patch, just in case. And applied it. That was the last piece. -- Michael --HvpL1o1Dq9R7/rNj Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAmm3VjkACgkQnvQgOdby QH34jQ//dCcQwEHbTzGzD1nZii9rJy2SnUOWuOrd+6SF+98APgazvC9iFB9EnfcC y38iD+Ht5cfRz8pQtfvLXIpe4BpomLcGSK9GgjQ9HinD80PASqrWecSI5i0cE6wc /URflIWUjQ5eRF6CPw85BWf0BFFbF5p+quStYP3xfdOe0VBGdGcbE6G37u0ijsYx LCWuy1ukujbRVK4m5M8aSj1qnuG6kpzluRhSRLNzRdIc/1JmXDmn4NuYZWeAdHW3 n+lRvx8rqm+EPWoq3PiAN+oSjoIDeA7a1fNGldj12mxEh3NRNThXXqkstv4qlTAO MPc2jlB12VEOgw0b4agDKkM9UdaKtYGKOTvUQQibrWDYPMBtGHH3ET6jFIi9zinB gmkq0qQg96QtnNnCjVx+vZEcEXxNahYDgfhAMGFKvBUzIY/m5s1gtSP+MuR2uogl ZjETVFb5SK+HASX5JuLlsqa0p9kx5t1Cq7t/kWN6q25WevARbtvUlEHWoFOMenaZ d63XL8pHtFK4QRANXRWW4/ZFtCd3z+d5nZEmUohymn4CUhUHLIN8P1Pnn2kZqzxr 6fEFy+VYo9RW6d/+5B+38xInQIM/EAlK6d/hu75qPV1kHfNaMQYn+zM5IYZEf/Q8 fqt2y0T5MwaaNI6JVush1RZQ7OJ0qbmBILrjCYg26NeHoMTQp8g= =yFUk -----END PGP SIGNATURE----- --HvpL1o1Dq9R7/rNj--