Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m2iua-0005UW-SK for pgsql-hackers@arkaria.postgresql.org; Sun, 11 Jul 2021 23:31:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1m2iuX-0005CA-LH for pgsql-hackers@arkaria.postgresql.org; Sun, 11 Jul 2021 23:30:57 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m2iuV-0005C2-OH for pgsql-hackers@lists.postgresql.org; Sun, 11 Jul 2021 23:30:56 +0000 Received: from new2-smtp.messagingengine.com ([66.111.4.224]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m2iuO-0001OC-Nj for pgsql-hackers@lists.postgresql.org; Sun, 11 Jul 2021 23:30:54 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailnew.nyi.internal (Postfix) with ESMTP id 91B4A5809B4; Sun, 11 Jul 2021 19:30:46 -0400 (EDT) Received: from imap21 ([10.202.2.71]) by compute1.internal (MEProxy); Sun, 11 Jul 2021 19:30:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eulerto.com; h= mime-version:message-id:in-reply-to:references:date:from:to:cc :subject:content-type; s=fm2; bh=adYiB3fpvxINBLhuoqSxjEnE6BYF1mD PCHsUrn7oFR8=; b=YG0//VkuF+0Ud3C3gwFFgwdOWlLPwpOF8q77ysK8VUONBEm uyC6oLwVE+C4EM2VQnc6HwC0rhBngiH0GqwVFCOt0h8Y0xCwQ/QVZHOjW5Um76yw 3CI8VMJdn0jz8W+wCoVly+I2TQ8JweCFBJIrhbPWLbUJKiq6rUccwIvbhXFs2LtR PMtgs5WkIwbccOvKWcMvuw1X4Ef/dDIPBBK2E00tz2KY2V6sy7bX2MvcTKrd7SXq nXKDjp8EJarrrZOiIVYm8w9y1LIFZnKWX4p34hQ0cDsEujagos91yGGy0nbv65wg sfUOHdoK9czddHLvZnNDB32VutsEUqjKpNe1Q6g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=adYiB3 fpvxINBLhuoqSxjEnE6BYF1mDPCHsUrn7oFR8=; b=iLvbJPxwoZX6z6tV3KTMO7 bA2oz9KZQ8wgTfJ519xPNdlNYSM+Oe7aQsANIcggEej91IPni1/nSSB7EfTjRRlJ 5IQAvTRTP+wz9ZYA52+XmrYDsEqwBq6FsE7tGtzpwiDxZy/Ic3ZvkTZphXNrYPCO Z1BpXL3lKuYl57MV5zoc9582dTdUkiSd5ArWo/k3+p62h7FgRjRufZL7Lf/Q/L4Z 15pQjMzGZti02YfvTlDFC7m9mOZZ+0VrSw7vvVBKOS8dm1HXUXcMV36uTDtnanMD 4h6BHKzWxTPTFFQPJDpDELBZ+tP9Xf/zmZzck+dHw32tR2S6D4kcNhJkxuovqXTA == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddruddugddvvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvufgtsegrtderreerredtnecuhfhrohhmpedfgfhulhgv rhcuvfgrvhgvihhrrgdfuceovghulhgvrhesvghulhgvrhhtohdrtghomheqnecuggftrf grthhtvghrnhepjeethfeuvdfgffdtteevudeftdejueffkeelveekhfevkeegleefhfej hedtjeegnecuffhomhgrihhnpegvnhhtvghrphhrihhsvggusgdrtghomhenucevlhhush htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegvuhhlvghrsegvuhhl vghrthhordgtohhm X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 67DE851C0060; Sun, 11 Jul 2021 19:30:45 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.5.0-alpha0-531-g1160beca77-fm-20210705.001-g1160beca Mime-Version: 1.0 Message-Id: In-Reply-To: <532a18d8-ce90-4444-8570-8a9fcf09f329@www.fastmail.com> References: <8cf1ea71-b609-00e8-b8f0-c85ba61b7312@pgmasters.net> <4dbad191-9b40-4bb6-8940-d18f2e93c3ce@www.fastmail.com> <5b9fceed-8f91-467f-a64e-2134c5c3f496@www.fastmail.com> <52edc9d2-8e52-4cde-9a15-991961b78387@www.fastmail.com> <9d5ef845-391a-4c66-b298-0f594d9e6828@www.fastmail.com> <7e4b5c48-a3d3-4b7e-b455-2d50c60a0ab7@www.fastmail.com> <57373e8b-1264-cd37-404e-8edbcf7884cc@enterprisedb.com> <86d76e89-9a96-411a-8077-f8918cbae2e1@www.fastmail.com> <3dbf7241-a417-45c9-9a0e-04a079de9b9f@www.fastmail.com> <0ca5b27f-edf8-4ef9-a9e2-533216890f62@www.fastmail.com> <532a18d8-ce90-4444-8570-8a9fcf09f329@www.fastmail.com> Date: Sun, 11 Jul 2021 20:30:24 -0300 From: "Euler Taveira" To: "Peter Smith" Cc: "Amit Kapila" , "Rahila Syed" , "Peter Eisentraut" , =?UTF-8?Q?=C3=96nder_Kalac=C4=B1?= , japin , "Michael Paquier" , "David Steele" , "Craig Ringer" , "Tomas Vondra" , "Amit Langote" , "PostgreSQL Hackers" Subject: Re: row filtering for logical replication Content-Type: multipart/alternative; boundary=27d71881cd644b33a62f9fcaf873797d List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --27d71881cd644b33a62f9fcaf873797d Content-Type: text/plain On Sun, Jul 11, 2021, at 4:39 PM, Euler Taveira wrote: > with cache (v18) > ----------------------- > > mean: 0.63 us > stddev: 1.07 us > median: 0.55 us > min-max: [0.29 .. 844.87] us > percentile(99): 1.38 us > mode: 0.41 us > > It represents -57%. It is a really good optimization for just a few extra lines > of code. cfbot seems to be unhappy with v18 on some of the hosts. Cirrus/FreeBSD failed in the test 010_truncate. It also failed in a Cirrus/Linux box. I failed to reproduce in my local FreeBSD box. Since it passes appveyor and Cirrus/macos, it could probably be a transient issue. $ uname -a FreeBSD freebsd12 12.2-RELEASE FreeBSD 12.2-RELEASE r366954 GENERIC amd64 $ PROVE_TESTS="t/010_truncate.pl" gmake check gmake -C ../../../src/backend generated-headers gmake[1]: Entering directory '/usr/home/euler/pglr-row-filter-v17/src/backend' gmake -C catalog distprep generated-header-symlinks gmake[2]: Entering directory '/usr/home/euler/pglr-row-filter-v17/src/backend/catalog' gmake[2]: Nothing to be done for 'distprep'. gmake[2]: Nothing to be done for 'generated-header-symlinks'. gmake[2]: Leaving directory '/usr/home/euler/pglr-row-filter-v17/src/backend/catalog' gmake -C utils distprep generated-header-symlinks gmake[2]: Entering directory '/usr/home/euler/pglr-row-filter-v17/src/backend/utils' gmake[2]: Nothing to be done for 'distprep'. gmake[2]: Nothing to be done for 'generated-header-symlinks'. gmake[2]: Leaving directory '/usr/home/euler/pglr-row-filter-v17/src/backend/utils' gmake[1]: Leaving directory '/usr/home/euler/pglr-row-filter-v17/src/backend' rm -rf '/home/euler/pglr-row-filter-v17'/tmp_install /bin/sh ../../../config/install-sh -c -d '/home/euler/pglr-row-filter-v17'/tmp_install/log gmake -C '../../..' DESTDIR='/home/euler/pglr-row-filter-v17'/tmp_install install >'/home/euler/pglr-row-filter-v17'/tmp_install/log/install.log 2>&1 gmake -j1 checkprep >>'/home/euler/pglr-row-filter-v17'/tmp_install/log/install.log 2>&1 rm -rf '/usr/home/euler/pglr-row-filter-v17/src/test/subscription'/tmp_check /bin/sh ../../../config/install-sh -c -d '/usr/home/euler/pglr-row-filter-v17/src/test/subscription'/tmp_check cd . && TESTDIR='/usr/home/euler/pglr-row-filter-v17/src/test/subscription' PATH="/home/euler/pglr-row-filter-v17/tmp_install/home/euler/pgrf18/bin:$PATH" LD_LIBRARY_PATH="/home/euler/pglr-row-filter-v17/tmp_install/home/euler/pgrf18/lib" LD_LIBRARY_PATH_RPATH=1 PGPORT='69999' PG_REGRESS='/usr/home/euler/pglr-row-filter-v17/src/test/subscription/../../../src/test/regress/pg_regress' /usr/local/bin/prove -I ../../../src/test/perl/ -I . t/010_truncate.pl t/010_truncate.pl .. ok All tests successful. Files=1, Tests=14, 5 wallclock secs ( 0.02 usr 0.00 sys + 1.09 cusr 0.99 csys = 2.10 CPU) Result: PASS -- Euler Taveira EDB https://www.enterprisedb.com/ --27d71881cd644b33a62f9fcaf873797d Content-Type: text/html Content-Transfer-Encoding: quoted-printable
On Sun, Ju= l 11, 2021, at 4:39 PM, Euler Taveira wrote:
with cache (v18)
--------= ---------------

mean:   &nbs= p;       0.63 us
stddev:&nbs= p;        1.07 us
media= n:         0.55 us
min-max:        [0.29 .. 844.87] us<= br>
percentile(99): 1.38 us
mode:  &nb= sp;        0.41 us

=
It represents -57%. It is a really good optimization for= just a few extra lines
of code.
cfbot seems to be unhappy with v18 on some of the hosts. Cirrus/F= reeBSD failed
in the test 010_truncate. It also fail= ed in a Cirrus/Linux box. I failed to
reproduce in my loca= l FreeBSD box. Since it passes appveyor and Cirrus/macos,
= it could probably be a transient issue.

$ uname -a
FreeBSD freebsd12 12.2-RELEASE FreeBSD 12.2-R= ELEASE r366954 GENERIC  amd64
$ PROVE_TESTS=3D"t/010_= truncate.pl" gmake check
gmake -C ../../../src/backend gen= erated-headers
gmake[1]: Entering directory '/usr/home/eul= er/pglr-row-filter-v17/src/backend'
gmake -C catalog distp= rep generated-header-symlinks
gmake[2]: Entering directory= '/usr/home/euler/pglr-row-filter-v17/src/backend/catalog'
gmake[2]: Nothing to be done for 'distprep'.
gmake[2]: No= thing to be done for 'generated-header-symlinks'.
gmake[2]= : Leaving directory '/usr/home/euler/pglr-row-filter-v17/src/backend/cat= alog'
gmake -C utils distprep generated-header-symlinks
gmake[2]: Entering directory '/usr/home/euler/pglr-row-filte= r-v17/src/backend/utils'
gmake[2]: Nothing to be done for = 'distprep'.
gmake[2]: Nothing to be done for 'generated-he= ader-symlinks'.
gmake[2]: Leaving directory '/usr/home/eul= er/pglr-row-filter-v17/src/backend/utils'
gmake[1]: Leavin= g directory '/usr/home/euler/pglr-row-filter-v17/src/backend'
<= div>rm -rf '/home/euler/pglr-row-filter-v17'/tmp_install
/= bin/sh ../../../config/install-sh -c -d '/home/euler/pglr-row-filter-v17= '/tmp_install/log
gmake -C '../../..' DESTDIR=3D'/home/eul= er/pglr-row-filter-v17'/tmp_install install >'/home/euler/pglr-row-fi= lter-v17'/tmp_install/log/install.log 2>&1
gmake -j= 1  checkprep >>'/home/euler/pglr-row-filter-v17'/tmp_install/= log/install.log 2>&1
rm -rf '/usr/home/euler/pglr-r= ow-filter-v17/src/test/subscription'/tmp_check
/bin/sh ../= ../../config/install-sh -c -d '/usr/home/euler/pglr-row-filter-v17/src/t= est/subscription'/tmp_check
cd . && TESTDIR=3D'/us= r/home/euler/pglr-row-filter-v17/src/test/subscription' PATH=3D"/home/eu= ler/pglr-row-filter-v17/tmp_install/home/euler/pgrf18/bin:$PATH" LD_LIBR= ARY_PATH=3D"/home/euler/pglr-row-filter-v17/tmp_install/home/euler/pgrf1= 8/lib" LD_LIBRARY_PATH_RPATH=3D1 PGPORT=3D'69999' PG_REGRESS=3D'/usr/hom= e/euler/pglr-row-filter-v17/src/test/subscription/../../../src/test/regr= ess/pg_regress' /usr/local/bin/prove -I ../../../src/test/perl/ -I .&nbs= p; t/010_truncate.pl
t/010_truncate.pl .. ok  &n= bsp; 
All tests successful.
Files=3D1, = Tests=3D14,  5 wallclock secs ( 0.02 usr  0.00 sys +  1.0= 9 cusr  0.99 csys =3D  2.10 CPU)
Result: PASS


--
Euler Taveira

--27d71881cd644b33a62f9fcaf873797d--