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 1w1yHH-000lTd-2L for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Mar 2026 03:06:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w1yHF-0071mD-18 for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Mar 2026 03:05:58 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w1yHF-0071m5-0C for pgsql-hackers@lists.postgresql.org; Mon, 16 Mar 2026 03:05:57 +0000 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w1yHC-00000000M8K-3gnr for pgsql-hackers@lists.postgresql.org; Mon, 16 Mar 2026 03:05:57 +0000 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-662fc12ac5bso7637889a12.0 for ; Sun, 15 Mar 2026 20:05:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773630354; cv=none; d=google.com; s=arc-20240605; b=bDjISnvzPungc7OlZkbjYZiJhsQYU41U1NzluzLLN6oh6fHvjUdTxHgJf2wnmF036f mJ6KTORy16yvluVa/2sLJa/FEDr+rsYc0jMR/9/gIYonaGhZD57bP3zEgO3vrKBVYDS0 fo7I67u3yY8htHHUSM40o5tlKxQfdbYCbzMgccGCz+Br3kURXTHTs3ZTHrVJ2zfKxPGB Vb1irWLeV6EG69YfniAVTTpHkFQnwOLvxLCB6Re5EmGomQX0USo69GeEMA73WY9m/kml 0jGhoAhf401MJcBEGKpI0hd2L1GCoMvQvvEa49uKe0p6999oyh1GtyuH4+vxHFWTQ+4n EUYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=JSFG5fbW4WNikWD3g/D1JVsiAvzyIK4FIn64WrWpq/U=; fh=4zoFFUeFEceI0XoRGgts52QsP1T1EqP9D68XkqUWTHw=; b=iEkY4VS6c3+O1U8csyuCtI4Af2BxOLerK1tVWdoH3J000eu2/AOGmnBDh3pwkiPwXy S6MivKkt+vDY7Z9BybfjldCV+CZ5cqnZLZYC+Lg0E8eCCUEA53X5Gc7cY8jjMZOuYcLb +SzJrliLcyzYqkAolKQOQ8BsixULnnbPY6hzvNDA+C0q0OyhMZnlCyaHL/XMUMK+BSCc BQKYGNDPlfO6lX8zcG4GqJzvku4ygnO+HXBFEq0jYTlVqG+fyHOPdnBvCnYFASRZG80A 8JsYc+czsClRJSru7kp2PGtT+bleLN/AocO4SRGwVvzASq5XKKWSzARuyhE/+HuM5cca svjQ==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773630354; x=1774235154; darn=lists.postgresql.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=JSFG5fbW4WNikWD3g/D1JVsiAvzyIK4FIn64WrWpq/U=; b=F9/HzI5ZbIcgYMXFDLp4CkMvvEqcMJfRY8sGw97WjILsCEINWwMqa7e5IImEzvdqZi 1WaPSVEAq5JiejzZt6OUnL8SSF8FYwzKULd46qECyLAxhFI3xe4Bs0RI38hfbvKMH0AU IU59z8DDaLQ71mMLZfNzw4ZCVrCngoKsmJnt53fxVxkBuOmNzg1FIIj9atFAt85JCj2E UQqpQuydQms9BsV3U+wpFteidqaVo+hEMDiakpKzblGMuWGaBaoetoYFAJIqURJxuCpc VDOUs7RdibxugSIL+oL89tr6KpInSF32PXr0gb0aFK9c9AOyS8USMVJyJj1OWVG76gpi Mq/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773630354; x=1774235154; 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=JSFG5fbW4WNikWD3g/D1JVsiAvzyIK4FIn64WrWpq/U=; b=blyivFV9SWgQFEJmXUmitYr7pLFb1pZkWRbGCKgip0dZwW0WgR6IzNtK0Esb2D/Ux5 NABu5Q9IqYPZVUheKgOF8CbfwlMCUED9NA4bLuW7u0rOFt2/dCIXD4Gmh8zre/lyAECz et4tylQBBKD2zD9jIIy2rT/GXESIvRAZH40HXZQTJBKn3A+hc/b+6HzGY5Tj3s0GqI+M 1ZsdTufanYUAy2RvnRo1otOPZ5RDfeAxZwVASmvGeuzmYrIXLQ9Mejd2QWKaIDsr9euT 7YSZyPo2K+mtNOgWb9/knTGVd3xy86kPyd3e/qScyWA0L/nOSkAlhYYb9891qT6k4m1R gNWw== X-Forwarded-Encrypted: i=1; AJvYcCWTv06MoUkGGwgkPE9uGN2qbXcfRVwM5wBWB/PCz7qYt6lWGYzJ6xBXmEYEh6bgtnbwflbq/2thVbT4I/pP@lists.postgresql.org X-Gm-Message-State: AOJu0Yw3cbHKV7qpl99qRPZ3DWERuY8ZTi+7HVVh78g8ehHcDeomXVn7 3Hi77SQVKqtKuxzJIqj/i266stKRG9zUwKHgBlefDvZouH2bHfGkkLQfMDEK4Ow2Vqmx4SJcfGq NQFFbt7wNqoSrge8xOnR72Ufqppt9vqU= X-Gm-Gg: ATEYQzxnYBXGYHJkGuW7FSwvLnhVK/6Z0v7D4m13Zg2RR5b0Q2juHzLZga5ymfdAzip mdFbhej23mxEL/7IPCREcu6M+PkYfGykLcGWBfDgPe5ZNlWflt6v+wCUJd7Uq8/t2wD/LoVxaJL 1Msh7NTNkQ8FNmFGx2ZeAUEmnl5+za10N0fQtGPDfeuxjI0KxqYfF9MYMdofJyxc1QpFtBx2hQm N0pi81u0L7TWyWGs7Y8tiHzf8w+ytYjmkgP/JS5ilgNGH0MTl2WuF3l2sqVazSmiz1lrykIXzrw KhcDaC+puWbnm+qdGIFabtUeTLwniYsGHDFRHmW9YvWIdbdhAU2Mqig+9Eqw/oiSFGWKsnJS27d 5tehaIRIg2RDkeVa6eg== X-Received: by 2002:a17:907:c5c9:b0:b96:d802:8b41 with SMTP id a640c23a62f3a-b9764fd8722mr589836866b.15.1773630353798; Sun, 15 Mar 2026 20:05:53 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Xuneng Zhou Date: Mon, 16 Mar 2026 11:05:42 +0800 X-Gm-Features: AaiRm50crlc_zkVNOZ9WVuDxJ9ydBc-we05v8YK7Ts7ImiAxrRONC336PhJVD-8 Message-ID: Subject: Re: Streamify more code paths To: Michael Paquier Cc: Andres Freund , pgsql-hackers , Nazir Bilal Yavuz Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, Mar 16, 2026 at 9:00=E2=80=AFAM Michael Paquier wrote: > > 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: > > > > hash_vacuum_medium base=3D 33747.2ms patch=3D 27379.7ms 1.23= x ( 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) > > > > 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 Thanks for double-checking and pushing it. --=20 Best, Xuneng