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 1vj9kC-008dP1-0U for pgsql-hackers@arkaria.postgresql.org; Fri, 23 Jan 2026 05:30:05 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vj9kB-00GAla-12 for pgsql-hackers@arkaria.postgresql.org; Fri, 23 Jan 2026 05:30:03 +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 1vj9kA-00GAlS-2G for pgsql-hackers@lists.postgresql.org; Fri, 23 Jan 2026 05:30:03 +0000 Received: from mail-dy1-x1329.google.com ([2607:f8b0:4864:20::1329]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vj9k8-001stS-05 for pgsql-hackers@lists.postgresql.org; Fri, 23 Jan 2026 05:30:02 +0000 Received: by mail-dy1-x1329.google.com with SMTP id 5a478bee46e88-2b740872a01so707344eec.1 for ; Thu, 22 Jan 2026 21:30:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769146200; x=1769751000; darn=lists.postgresql.org; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=P2kyIaAbF6f8JFwjQ/cXRmicCO7mu89na5o7lAUJxFA=; b=aZ4mih9IoY4iT8vEaX5qiYt6L/UQp4QTz1x62RuLHMhiGKc5SOiOkCm3CruLiurqiF Ny8b20K75phewdY2smM2xOetFCXDhtTN548f5DI0p4pVV1oa/xLyI7qrIph7nN3oOaC1 PQBBX7XtP7LBuj4SP+XIUSoUrm3/9tHUFVdGJqHPyWIfv/4V1sBPSOH9RF8LLuo3fXji tQ1bk5MPj3klGLTGVQl9doQfs98wpu2kMAanEkoRL8tJnKlFLXepNrtWeyTyjvoQeZYW JHdVlrJWy5Hkmxcz2g45JG45O/XIga2gx4ZU+gf6nbNH8aDGTxVZ7wrQExS4b68K43Dk Mt5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769146200; x=1769751000; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=P2kyIaAbF6f8JFwjQ/cXRmicCO7mu89na5o7lAUJxFA=; b=Wr8wtoiSKk2UvOEZPlUYPI89ms3v07Lef5mTOm5C85+LCzmHVaO1krtFpDlVx3/knT t6jlgNayftxCXRhffFFc4bO+eF7UvvX2kmeMnz3sVijx6x5i0hOSzISWbcz+yA2td82i b+E2EwaYeXI5pA94boeV5YXo0+hcoghGzrADCWy2gRXeg5OO0yBd+qZKZBM7LZVnhPTd j7sDaEN0fLE6aKCRW77D/gsmW7a2qEKS4gCsdc49jTZUHKqqK2Bamph8DNETN5HHgCdi lztSFprrMAfJh7ir73JdWEi9PqV8X7rFxlbzV5Z6WzLOsvKYQfXnBh9m0tJl4j0v5lMa F/VQ== X-Gm-Message-State: AOJu0Yx3rc8CXT1DK7xN9Uix524OWaOn49lN3N8FXIv7fAmRukOthu8s AhQSSsoFQ3DUBLR9q2LvNTkSiiHmehZUjVdqgnTbzgEKhr8o934oaRY/ X-Gm-Gg: AZuq6aLi/2EGUJdX7HFYU/RZiZ3bo20PC/fBcTSYpE8o6sTM+77MTYvJK6y3pXdKkC1 mh83buApSdup1Bi2WvPFpmI2UKcS9sKZc4sZItIz/q3q9AQsdKRVOQBkQbamTbAfgH4Xx+kcmoT 5JsdRHFRfi9dXbuUu0YXfqxzQLblGCl38z99XEeuh+h0PsK34qkqa5q0lsOYDli2XPG3xZvhR69 0kiIl6aUD/JBFw+v8igeT5haa2icCifWhf1t3neC0ibFUg+6dxu1EZ0GcfBPXJ2Y/hAjDhmFGto AzBVHW9aRSu65CfVamRpf/LmUVku1cVxTflEVQCRyjh6Lsg3zJoVmPrYvxHmvJU6x2huIfxepvy y4B86s9w3Vw+6OhIr5UGJPG01WYSP2bXEQm/XsIQnZJk4C8cseMHXdK7sGwDMOb2f5SGFes/9Sb TA8LuXiEOjCSzuodbaPGmy X-Received: by 2002:a05:7300:e611:b0:2b4:5153:42c4 with SMTP id 5a478bee46e88-2b739b778e5mr1089170eec.27.1769146199598; Thu, 22 Jan 2026 21:29:59 -0800 (PST) Received: from smtpclient.apple ([196.247.24.158]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1247d91ca0fsm2500827c88.8.2026.01.22.21.29.56 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 22 Jan 2026 21:29:58 -0800 (PST) From: Chao Li Message-Id: <82AD055C-3280-4DFB-ADA8-A7A4DE3844A5@gmail.com> Content-Type: multipart/mixed; boundary="Apple-Mail=_6D7B5E5C-06B4-436A-B5B1-EEC951DF93C4" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.300.41.1.7\)) Subject: Re: More speedups for tuple deformation Date: Fri, 23 Jan 2026 13:29:22 +0800 In-Reply-To: Cc: PostgreSQL Developers To: Andres Freund , David Rowley References: <9A17C43D-7A28-4885-8974-555A40C9523E@gmail.com> X-Mailer: Apple Mail (2.3864.300.41.1.7) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --Apple-Mail=_6D7B5E5C-06B4-436A-B5B1-EEC951DF93C4 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Jan 23, 2026, at 09:18, Andres Freund wrote: >=20 > Hi, >=20 > I haven't yet looked at the new version of the patch, but I ran your = benchmark > from upthread (fwiw, I removed the sleep 10 to reduce runtimes, the = results > seem stable enough anyway) on two intel machines, as you mentioned = that you > saw a lot variation in Azure. >=20 > For both I disabled turbo boost, cpu idling and pinned the backend to = a single > CPU core. >=20 > There's a bit of noise on "awork3" (basically an editor and an idle = browser > window), but everything is pinned to the other socket. "awork4" is = entirely > idle. >=20 >=20 > Looks like overall the results are quite impressive! Some of the = extra_cols=3D0 > runs saphire rapids are a bit slower, but the losses are much smaller = than the > gains in other cases. >=20 >=20 > I think it'd be good to add a few test cases of "incremental = deforming" to the > benchmark. E.g. a qual that accesses column 10, but projection then = deforms up > to 20. I'm a bit worried that e.g. the repeated first_null_attr() > computations could cause regressions. >=20 >=20 > Greetings, >=20 > Andres Freund > Today I ran the benchmark on my MacBook M4 against 3 versions (all = without assert and with -O2): 1) Master (f9a468c664a) 2) Master + v4 3) Master + v4 + My tweak (first_null_attr immediately returns 0 when = natts =3D=3D 0) Overall, v4 shows significant improvements across most configuration = combinations. In the best case, v4 is about 43% faster than master. The tweak version is only slightly faster than v4. In the best case, the = tweak achieves an additional ~3.5% improvement over v4. Note that the MacBook is my working laptop. I didn=E2=80=99t actively = work on it while the tests were running, but it was still not fully = idle, as some other applications (Email, VScode, etc.) were running in = the background. That said, I suppose this is still fair for the three = rounds of test runs. See the attached Excel sheet for details. Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/ --Apple-Mail=_6D7B5E5C-06B4-436A-B5B1-EEC951DF93C4 Content-Disposition: attachment; filename=pgbench_comparison_chao_li_mac_m4.xlsx Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; x-unix-mode=0644; name="pgbench_comparison_chao_li_mac_m4.xlsx" Content-Transfer-Encoding: base64 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 AAAAAA== --Apple-Mail=_6D7B5E5C-06B4-436A-B5B1-EEC951DF93C4 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii --Apple-Mail=_6D7B5E5C-06B4-436A-B5B1-EEC951DF93C4--