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 1uPquS-00HF3L-2C for pgsql-hackers@arkaria.postgresql.org; Thu, 12 Jun 2025 23:00:36 +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 1uPquO-00Gdmb-Oz for pgsql-hackers@arkaria.postgresql.org; Thu, 12 Jun 2025 23:00:33 +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 1uPquO-00GdmT-Ew for pgsql-hackers@lists.postgresql.org; Thu, 12 Jun 2025 23:00:33 +0000 Received: from mout.gmx.net ([212.227.15.15]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1uPquM-001ias-2p for pgsql-hackers@lists.postgresql.org; Thu, 12 Jun 2025 23:00:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1749769227; x=1750374027; i=jimis@gmx.net; bh=/gruUMN+1muh34WdH7V23+4E7YqXnzwnnhstVcNM7HM=; h=X-UI-Sender-Class:Date:From:To:cc:Subject:In-Reply-To:Message-ID: References:MIME-Version:Content-Type:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=U6ifAeOjOwmq4rbgqt/uMYXVjff+zJVFr/DukN24cJTcxQcuiIolcvOAd5NmwR4G 6+p2OY5wTlbloQd9q+Rp7fz+YstrpNnKfvDEKOrz2s/fApnopLYwXKmxEFukGa7eX dfdIXP5Xx+5q3V7/2+u1mikxbyYQIz7P6Yu8HORxXHskywewpCk1yKgY+I+3eh232 RO2QVT/KhbcwKsHrdg90BnbA0duzOKFQXWA3QbuE8R3bRzU5gAzNKplwY3HpCdD+/ SPfDjqopE0eWw1UG6ZMoVggod3soHLfoHetJh1k9CVozSpgDZvi84aQlzODCcLlLs NEEh45xas+5FkSsDKg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from qtjimis-OpenSUSE-2.lan ([84.215.109.181]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M3DJv-1uOSve2Eiz-0023Nv; Fri, 13 Jun 2025 01:00:27 +0200 Date: Fri, 13 Jun 2025 01:00:26 +0200 (CEST) From: Dimitrios Apostolou To: Nathan Bossart cc: Tom Lane , pgsql-hackers@lists.postgresql.org Subject: Re: [PING] [PATCH v2] parallel pg_restore: avoid disk seeks when jumping short distance forward In-Reply-To: Message-ID: <5ed51587-5a24-4d79-e36e-927620d0e3a2@gmx.net> References: <2edb7a57-b225-3b23-a680-62ba90658fec@gmx.net> <1282067.1744651649@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Provags-ID: V03:K1:Gl5YvuuazAcszrc8lI1Ts/aumPTJyR6b/nejavYE+gqpDaqLvzZ KSt80m8Rjh4yHMI3L4MzhauaWl5fzu9QP3b0uWtQq0mgG0w8j0WhAKVC2Ci2q92EoUBiXYr y/ozme/ko+aAScJ/2DjG1F8M5t9TNxSQ2qv+b6oUlIE2UyAiAMre0YOXnMaBUPiqYcoQ9JD yLbRSK6eGPi9X6byvEZPg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:TP07JzziORo=;hmXiRswNL+cOe5GMhNys6eTRjtQ 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 Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, 10 Jun 2025, Nathan Bossart wrote: > So, fseeko() starts winning around 4096 bytes. On macOS, the difference= s > aren't quite as dramatic, but 4096 bytes is the break-even point there, > too. I imagine there's a buffer around that size somewhere... > > This doesn't fully explain the results you are seeing, but it does seem = to > validate the idea. I'm curious if you see further improvement with even > lower thresholds (e.g., 8KB, 16KB, 32KB). By the way, I might have set the threshold to 1MB in my program, but=20 lowering it won't show a difference in my test case, since the lseek()s I= =20 was noticing before the patch were mostly 8-16KB forward. Not sure what is= =20 the defining factor for that. Maybe the compression algorithm, or how wide= =20 the table is? Dimitris