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 1qtkix-00Dmvk-3k for pgsql-hackers@arkaria.postgresql.org; Fri, 20 Oct 2023 08:19:16 +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 1qtkiu-00F0Vy-D8 for pgsql-hackers@arkaria.postgresql.org; Fri, 20 Oct 2023 08:19:13 +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 1qtkis-00F0Vq-NI for pgsql-hackers@lists.postgresql.org; Fri, 20 Oct 2023 08:19:12 +0000 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qtkim-001gQ8-Jm for pgsql-hackers@lists.postgresql.org; Fri, 20 Oct 2023 08:19:10 +0000 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id 3A51D32009DE; Fri, 20 Oct 2023 04:19:02 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Fri, 20 Oct 2023 04:19:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paquier.xyz; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm3; t=1697789941; x=1697876341; bh=9f i6jTP7Iq8wrQe4laQlsM6fMLGsvhyu0UfxMcAHp/Q=; b=zg5IuEYbkPclMYvwKu 1opt380Fwowz8Fz58jdFO2QzW2GHfRQU4S2vKOdmqNXQnnBypGXxxyUlQOTlxcR8 Z7ntt325lRDR4CcUiekqfPhtzG/H3wROGOpt54rN02FP8rtR8qtIcM2MJ0P0Vad0 To8OrOl50yj9mSQ9mWY3c450QwhnWVfRGmbTC0dE7WIQA9N/A2+p497J/C5aPN/l ijp3lem/bCM1FFs+BZ55EmHlNkSRkWvfIvjjKkDCHIkYqcHtOC368Y3KLgzQtsVa W/qLRja54TuoScDLBVKrfgQ9epwDIbRL1iOX9xuvohvPR3SF60BZukgMWBas+h1p k/cQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc: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:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; t=1697789941; x=1697876341; bh=9fi6jTP7Iq8wr Qe4laQlsM6fMLGsvhyu0UfxMcAHp/Q=; b=hbMhbqH9FJb7aULVJ/ucgBSRGaYaP oPl65vkdknkxTSjaC9weBEqfqMvRCvw9Ut/pDY4jqGMN3SY4aYDL/TijlZsjpoXr Hh3hlwtIeEE6I6LPOjrxbBDKGXvNJ6rJvbjRuYrrCWXDW/QviROq4fBu0me+HgPT m2bFmCLa4pfNuI12bZZ7Xl6XJ6nOQGbWjr5MFfOCOJ+7fAZEPjK17XolKkPYfdJE uqbEjWURXlvLqtgH8x5WSTvwX9x+8LNzi1WpKKU7pVmd7kQQ1wuzWPCIH6/u7FWF NueeOtyo2nq33p82OcdaIVe5J5spZXlazuC5Dh8xSzyS27rp441On8kEg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrjeekgddtudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenfg hrlhcuvffnffculdefhedmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt vdenucfhrhhomhepofhitghhrggvlhcurfgrqhhuihgvrhcuoehmihgthhgrvghlsehprg hquhhivghrrdighiiiqeenucggtffrrghtthgvrhhnpeejjedtleelgeegleffudfhjedt uedvkeektefhhfeuvddvueduueegfeduvedtieenucffohhmrghinhepghhithhhuhgsrd gtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhep mhhitghhrggvlhesphgrqhhuihgvrhdrgiihii X-ME-Proxy: Feedback-ID: i0fe9450f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 20 Oct 2023 04:19:00 -0400 (EDT) Date: Fri, 20 Oct 2023 17:18:56 +0900 From: Michael Paquier To: Xiang Gao Cc: "pgsql-hackers@lists.postgresql.org" Subject: Re: CRC32C Parallel Computation Optimization on ARM Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="Hn3AX9MPqmk5etiy" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --Hn3AX9MPqmk5etiy Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Oct 20, 2023 at 07:08:58AM +0000, Xiang Gao wrote: > This patch uses a parallel computing optimization algorithm to > improve crc32c computing performance on ARM. The algorithm comes > from Intel whitepaper: > crc-iscsi-polynomial-crc32-instruction-paper. Input data is divided > into three equal-sized blocks.Three parallel blocks (crc0, crc1, > crc2) for 1024 Bytes.One Block: 42(BLK_LENGTH) * 8(step length: > crc32c_u64) bytes=20 >=20 > Crc32c unitest: https://gist.github.com/gaoxyt/138fd53ca1eead8102eeb92040= 67f7e4 > Crc32c benchmark: https://gist.github.com/gaoxyt/4506c10fc06b3501445e32c4= 257113e9 > It gets ~2x speedup compared to linear Arm crc32c instructions. Interesting. Could you attached to this thread the test files you used and the results obtained please? If this data gets deleted from github, then it would not be possible to refer back to what you did at the related benchmark results. Note that your patch is forgetting about meson; it just patches =2E/configure. -- Michael --Hn3AX9MPqmk5etiy Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAmUyN/AACgkQnvQgOdby QH0oNw//VQMJ/nKURYJxkOBix3P/JyPXuisLVQioGAOHmZCRhRNyLW+vd753DoAP /0w2eR+2jCTUuvj3G/SDdSrOwguxG7kzLidGLTWOPYyPF9O0eRm0kkU+bBEIDsSE n4g0y8Ae1HGsMhGk3ozKV6ixoVV3r3F4+AleL/uGz77Pj0BleZ4hpVqsI/A1pHHH zabRJYGOD0b4ntvbXv7OaxUkUcIKGvqqSuyoSqzIXSSQKAZ0c21DPprwgn/Grlk7 I2ulg1At2MqV+JHHyJekinkhk45ZLm028gAD42OCu/oRN34ux1Y6G/kXAT1OoDQt XkP5HPELm+cRte+z9CIJHydaTYgAUAV2OpjhAe/8hnGkt8IRVuvhSn8Sbh9FJrYj 9lQON3lsqFSYDN72IyNsNN+X4m4L3FYcXmPGsagTa8yYfEQRiaX6pa48cBKuqIjo IIR6HFOWWEE6S1J2z/JHBcfv1laYUUcJPLmKJtUTfGnxVGZinsvA3fIvKAnzqFaP Cw+lFv5ccEaqyFOUNO2oNEu8ELX8uAMeqRFrXn2dB0w8R/bZaZUhcbFpAFKzu9Ti /61TaUDiCyby6SapGTvb+p47uXQGY0+o2dLILM07319saT2oGwH4pqBFbTux13He hNotKJ9qnynp4kFISADsQJpot2Kjig46BIBa/nXOdKXSdT+c9Lk= =BKJe -----END PGP SIGNATURE----- --Hn3AX9MPqmk5etiy--