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 1ulTJy-0019AV-8D for pgsql-hackers@arkaria.postgresql.org; Mon, 11 Aug 2025 14:16:18 +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 1ulTJw-001HXB-KP for pgsql-hackers@arkaria.postgresql.org; Mon, 11 Aug 2025 14:16:16 +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.94.2) (envelope-from ) id 1ulTJw-001HX3-8j for pgsql-hackers@lists.postgresql.org; Mon, 11 Aug 2025 14:16:16 +0000 Received: from relay9-d.mail.gandi.net ([2001:4b98:dc4:8::229]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ulTJu-0002AC-0G for pgsql-hackers@lists.postgresql.org; Mon, 11 Aug 2025 14:16:16 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 7C2FD4421E; Mon, 11 Aug 2025 14:16:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vondra.me; s=gm1; t=1754921771; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HLIuXeoiOOyFNi+Xho0ipqg6/6+pAp13Vmq5SNlt68s=; b=i7uviuNlQe1BApZe0/DP5ywqEo8GFpfGuQKhWdsxQYKJwiggoUFSPnoDNTmJNHr7m458oy wiC1NwGAgS1QhKXC+sKX5V7I8COsoWqr/7SAEwiHJTKkgTRR25NpKGnzB1h4U44B4zfbbf wIUdkSsH33a3YrXFAgrWX7azfVAd4xJ7C3Sq1grsuimRKw6/+dbW0f/8eVireWWtoPYQHK n8W+9OSbTKKtNJ6Ji3AlcLpowkij9n6BDBRt8v510zMvSChY7/QYlBzZoiVttHe0Ioymzn 6br0FcCCjG7tMMqm2U/tOYNU+shpGLdUvN+Xas/Je9Uvf0D2sLaRn23VS9vWzg== Message-ID: Date: Mon, 11 Aug 2025 16:16:05 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: index prefetching To: Andres Freund Cc: Peter Geoghegan , Nazir Bilal Yavuz , Thomas Munro , Robert Haas , Melanie Plageman , PostgreSQL Hackers , Georgios , Konstantin Knizhnik , Dilip Kumar References: <8ed1d326-5c6e-476e-b3fd-30d3da210546@vondra.me> <38b865bd-2ae9-4a94-a788-6e3dc99ccd70@vondra.me> <306fc8c0-c882-4602-86f5-a106b9ace603@vondra.me> <152ea782-5bd4-4435-b021-0ab2da61e63d@vondra.me> <7c2f6350-6fca-4e39-b0a8-8ac735f5d58a@vondra.me> <2e63cadd-2a03-46b1-866e-7ea5d3ffd37f@vondra.me> Content-Language: en-US From: Tomas Vondra In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgddufedvieeiucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddvjeenucfhrhhomhepvfhomhgrshcugghonhgurhgruceothhomhgrshesvhhonhgurhgrrdhmvgeqnecuggftrfgrthhtvghrnhepledugeeikefglefhgfffuedvleetteevgefhvdeikeefudduuddvhfevudefhfevnecukfhppeekiedrgeelrddvfedtrddvtdeinecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepkeeirdegledrvdeftddrvddtiedphhgvlhhopegluddtrddufeejrddtrddvngdpmhgrihhlfhhrohhmpehtohhmrghssehvohhnughrrgdrmhgvpdhnsggprhgtphhtthhopedutddprhgtphhtthhopegrnhgurhgvshesrghnrghrrgiivghlrdguvgdprhgtphhtthhopehpghessghofihtrdhivgdprhgtphhtthhopegshigrvhhuiiekudesghhmrghilhdrtghomhdprhgtphhtthhopehthhhomhgrshdrmhhunhhrohesghhmrghilhdrtghomhdprhgtphhtthhopehrohgsvghrthhmhhgrrghssehgmhgrihhlrdgtohhmpdhrtghpthhtohepmhgvlhgrnhhivghplhgrghgvmhgrnhesghhmrghilhdrtghomhdprhgtphhtt hhopehpghhsqhhlqdhhrggtkhgvrhhssehlihhsthhsrdhpohhsthhgrhgvshhqlhdrohhrghdprhgtphhtthhopehgkhhokhholhgrthhoshesphhrohhtohhnmhgrihhlrdgtohhm X-GND-Sasl: tomas@vondra.me List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 8/9/25 01:47, Andres Freund wrote: > Hi, > > On 2025-08-06 16:12:53 +0200, Tomas Vondra wrote: >> That's quite possible. What concerns me about using tables like pgbench >> accounts table is reproducibility - initially it's correlated, and then >> it gets "randomized" by the workload. But maybe the exact pattern >> depends on the workload - how many clients, how long, how it correlates >> with vacuum, etc. Reproducing the dataset might be quite tricky. >> >> That's why I prefer using "reproducible" data sets. I think the data >> sets with "fuzz" seem like a pretty good model. I plan to experiment >> with adding some duplicate values / runs, possibly with two "levels" of >> randomness (global for all runs, and smaller local perturbations). >> [...] >> Yeah, cases like that are interesting. I plan to do some randomized >> testing, exploring "strange" combinations of parameters, looking for >> weird behaviors like that. > > I'm just catching up: Isn't it a bit early to focus this much on testing? ISMT > that the patchsets for both approaches currently have some known architectural > issues and that addressing them seems likely to change their performance > characteristics. > Perhaps. For me benchmarks are a way to learn about stuff and better understand the pros/cons of approaches. It's possible some of the changes will impact the characteristics, but I doubt it can change the fundamental differences due to the simple approach being limited to a single leaf page, etc. regards -- Tomas Vondra