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.94.2) (envelope-from ) id 1vGRzd-00FOqQ-Il for pgsql-hackers@arkaria.postgresql.org; Wed, 05 Nov 2025 01:07:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1vGRzc-00HHj1-Io for pgsql-hackers@arkaria.postgresql.org; Wed, 05 Nov 2025 01:07:19 +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.94.2) (envelope-from ) id 1vGRzc-00HHis-4g for pgsql-hackers@lists.postgresql.org; Wed, 05 Nov 2025 01:07:19 +0000 Received: from fout-a3-smtp.messagingengine.com ([103.168.172.146]) by makus.postgresql.org with smtp (Exim 4.96) (envelope-from ) id 1vGRzZ-005UpQ-1T for pgsql-hackers@postgresql.org; Wed, 05 Nov 2025 01:07:18 +0000 Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45]) by mailfout.phl.internal (Postfix) with ESMTP id E039CEC001C; Tue, 4 Nov 2025 20:07:16 -0500 (EST) Received: from phl-imap-16 ([10.202.2.88]) by phl-compute-05.internal (MEProxy); Tue, 04 Nov 2025 20:07:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=compiler.org; h= cc:cc:content-transfer-encoding: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=fm3; t=1762304836; x=1762391236; bh=g64wps7hP8IvGh5F5Y6nr5wXWfP8f09fDsUbsm7uIhA=; b= plO5M9CV9Gpk6hgZba64gEfG17h+xafnCqsGWusgAA2nBj1Cmy4gh/gMWWB9aXiZ SOYjs6C3RCdjOh0zRKIC0Bvw3tRfhA6jfsTBwSIGkeAbJFmy0WFS6ZjvLydSVrBP tcs6vk7pGyhZNpZu7Ak8ceouSLImVZ24bDiPsTVyaSTnsh7WpZc2UlKqlbrpPk69 DRtGRhf0++ZmGi2lZMkHwhTIskaoDskkYD1PMgD7qhcEgHyJ27sk3Ga/4R3yvzfX YydOTjcsLJT3B/vYSQ6RqtcdBqvrlGqZjptPHJfqFX8i7nVM577yoQ4QNCdSo+I/ XsbUuxSVIqN4OsWsrITv0g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :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=fm3; t=1762304836; x= 1762391236; bh=g64wps7hP8IvGh5F5Y6nr5wXWfP8f09fDsUbsm7uIhA=; b=P y5eLskugwzJvCWftaZm4w2gVPJ/jGxKFnTAYrWP6LL3RaLcigm5CfApWYGwRyDmL BdOhlVWMuuJL+NqWZRe6soCzsJDv33g7NSswWRJ8xlWCPSbxCtOv4Kea9cWoPNmC bGXMDx/Q1xONIVsKTR0uT3noJLiD0XUN6wR7pF+Fj3ALxvu31v5ZbfAZ5TB/rFq/ 1KbWsinNGazr3v+3A/W2XX7WrRc4HWfccGqRDp/4F0pCUI3m1iD7/DOpmO0DfEq+ SlLt2KCtRlmYxL4xcDIdWjNIJUn5pzh7GK2a/k/4rdKpOQmK96G1XXSd2Y3m7Fib WTaMxfVRGC279jMCEZmpA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddukedvheegucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepofggfffhvfevkfgjfhfutgfgsehtjeertdertddtnecuhfhrohhmpedflfhovghl ucflrggtohgsshhonhdfuceojhhovghlsegtohhmphhilhgvrhdrohhrgheqnecuggftrf grthhtvghrnhepveeigeekhfehgfevgfegudfhffeiffevjefggeejffffiedthfevgeeu gfeutddtnecuffhomhgrihhnpehpohhsthhgrhgvshhqlhdrohhrghenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehjohgvlhestghomhhpihhl vghrrdhorhhgpdhnsggprhgtphhtthhopeegpdhmohguvgepshhmthhpohhuthdprhgtph htthhopegrrhhsvghnihihrdhmuhhkhhhinhdruggvvhesghhmrghilhdrtghomhdprhgt phhtthhopehlihdrvghvrghnrdgthhgrohesghhmrghilhdrtghomhdprhgtphhtthhope hhlhhinhhnrghkrgesihhkihdrfhhipdhrtghpthhtohepphhgshhqlhdqhhgrtghkvghr shesphhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: ic6394509:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 4391C2CC0083; Tue, 4 Nov 2025 20:07:16 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface MIME-Version: 1.0 X-ThreadId: AE1r89ybsZ1g Date: Wed, 05 Nov 2025 02:06:54 +0100 From: "Joel Jacobson" To: "Arseniy Mukhin" , "Chao Li" , "Heikki Linnakangas" Cc: pgsql-hackers Message-Id: <956ecc50-b0af-4865-be1f-97b082cb6b1f@app.fastmail.com> In-Reply-To: <12c08e29-c21c-4a3d-a269-a48a1a26b18d@app.fastmail.com> References: <6899c044-4a82-49be-8117-e6f669765f7e@app.fastmail.com> <165530.1752362320@sss.pgh.pa.us> <02a7cd37-e2fc-4212-8b19-f8c239c95fb8@app.fastmail.com> <96f00bf1-cc9d-4520-9d02-9e14e7767c88@app.fastmail.com> <30c2aa7d-dd6c-4b68-a2e4-f217a1a34acf@app.fastmail.com> <0b4d402a-9ac2-4aa8-acf8-8231dbe579ea@app.fastmail.com> <3095599.1758644879@sss.pgh.pa.us> <0dc6a2cc-5216-4dc1-9dd2-430cafc6095b@app.fastmail.com> <52CC167F-763B-4ECA-B0B4-DAB381816828@gmail.com> <9186C6D0-F7A9-482A-9183-89E530B57E36@gmail.com> <1073593.1759423179@sss.pgh.pa.us> <4bd5e6c4-6fa7-44bb-869d-59a32a331fa8@app.fastmail.com> <85828f29-e72e-4400-94f3-9a69bc8dc239@app.fastmail.com> <2495353.1759860890@sss.pgh.pa.us> <8aeae418-92a6-4bbd-9c06-9574c79e59f7@app.fastmail.com> <2531672.1759868124@sss.pgh.pa.us> <474efa78-337c-41cd-a73a-f845a0115109@app.fastmail.com> <2749343.1759949176@sss.pgh.pa.us> <8bfca2be-1ec0-4e15-aafb-0b7b661fe936@app.fastmail.com> <9eba307f-f2fb-48f0-9507-2e197f39ef9e@app.fastmail.com> <8c71183a-0d28-4bcf-a806-78446ff95404@app.fastmail.com> <1009807.1760476747@sss.pgh.pa.us> <1F7227F5-C33D-4E2C-8511-33F1468590D0@gmail.com> <0a5a20d3-4621-46b3-b2ab-903f63a20dea@app.fastmail.com> <6F913129-ABEF-4004-AAF3-F22FC34!29AE8@gmail.com> <1547585.1760645808@sss.pgh.pa.us> <14865EB6-0BF4-462B-9072-10BDAC10C052@gmail.com> <0BCA1C2D-B92C-459E-B1A6-6D06BA4C62CF@gmail.com> <55d24cbb-e9ef-491f-a99b-b3dbd7cecdf9@app.fastmail.com> <38574cad-e90d-47b7-a015-753bb6bbc360@app.fastmail.com> <66631FB7-5BEA-4ED5-A694-9AD8B9CCFEE8@gmail.com> <4b7b49a5-5e1a-44a8-93e0-60457d15cb1d@app.fastmail.com> <82DEA2B6-6FC5-4A79-BDE3-1FD72F104A6E@gmail.com> <38de1036-d8cf-420c-b845-edb5a946b191@app.fastmail.com> <87E40BF8-8877-4DBD-9040-99AF8A4E6358@gmail.com> <7556f0d4-03fd-451a-bd34-5f62b424319a@app.fastmail.com> <290910DE-9A03-4AE6-B348-073D5DA96ACC@gmail.com> <12c08e29-c21c-4a3d-a269-a48a1a26b18d@app.fastmail.com> Subject: Re: Optimize LISTEN/NOTIFY Content-Type: text/plain Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, Nov 5, 2025, at 01:58, Joel Jacobson wrote: > Changes since v22: > > * Optimize listening on thousands of channels per backend by replacing > the listenChannels List with a local hash table, renamed to > listenChannelsHash to avoid confusion. I forgot to say that this is per idea from Heikki in the other thread [1]: "The elephant in the room of course is that a lookup in a linked list is O(n) and it would be very straightforward to replace it with e.g. a hash table. We should do that irrespective of this bug fix. But I'm inclined to do it as a separate followup patch." [1] https://www.postgresql.org/message-id/66213fee-00ff-4952-802d-c06454e521ac%40iki.fi > * Removed advisoryPos, since it was not actually used. We only needed > advancingPos to fix the bug with truncation of the queue. It's possible > that the bottleneck in some workloads is no longer the wakeups, but I'm > not sure yet; I'll do some more benchmarking to get a better > understanding of whether it would be worthwhile to pursue further > optimization. > > * Removed asyncQueuePageDiff, since it's no longer used. /Joel