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.96) (envelope-from ) id 1vvaLN-0091Y4-2f for pgsql-hackers@arkaria.postgresql.org; Thu, 26 Feb 2026 12:19:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vvaLM-00CIpw-2Y for pgsql-hackers@arkaria.postgresql.org; Thu, 26 Feb 2026 12:19:48 +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.96) (envelope-from ) id 1vvaLM-00CIpK-1b for pgsql-hackers@lists.postgresql.org; Thu, 26 Feb 2026 12:19:48 +0000 Received: from mail-dy1-x1329.google.com ([2607:f8b0:4864:20::1329]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vvaLH-00000001IEZ-24M3 for pgsql-hackers@postgresql.org; Thu, 26 Feb 2026 12:19:47 +0000 Received: by mail-dy1-x1329.google.com with SMTP id 5a478bee46e88-2bdca815fdfso9626eec.1 for ; Thu, 26 Feb 2026 04:19:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1772108384; cv=none; d=google.com; s=arc-20240605; b=kPjRPkpBDhYJyADpr8+Imthtc139S17MuewYOcD3hM3emFtY3NV5Fy4UInp6+yp+OI sfxjabjV948YYwlvyoRmH8efw60NThsLTxlpxohc+g3DHRXKkUMKBnzQuVzngK9oxEra n4K2oMO4mecgUF+ZDu/FkIwREYoTHTaypkBfntRlW4DthackCs3MuQwzy94hG/btW6HZ p8M5I/sNNL4oMlbGzF6AXJoaDDY+1lsuPN8/y7aOKGV8dKkN+12HJBaAbhI2z4zvd6uY XfrspYq1IK/Hj7k3SUQQvUqX83cKiCL/d1q+wJE+B18IwpiSHJqL3kGeeKBIyTLn5pnH xVHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=fDv4oKg21e7Ond7z2MC9pkjK3UYtYXEHuVhQCLFQMUw=; fh=pmBMdaLRHMIAf8B208oe4b8lZ2oetPwgDmXXmbtk/gA=; b=Nj2DA/0noTmc+0kXKENpH0vsAAl3eE3cXEo1GMG2javygJtJXf/Vn+h25KjmUHfkcV rN60lTqRehiZ7zX0IM3V3SYoozPyDuMwHhmLV/E0Bpno25XOhNHbFQ06vmk02GWCEz49 Y4WcVafYoSTcQCzngTQhnMw+DqNmXURtwCwgQ2khHQLCFrmC9OpQCIgv006ZgY9XOC0a /cyWIBz3CzqWviiObSWWVMQXl8snZuJ4U04saxuxaMmKkhlN7Lc67vOqT+fTHaTFT38i RhZtFuwYubVPLtQRf3F6EtKOnBy7uM4CgYuUBH8wtT8zLjxh6ftLMdTzS1+qcDVZ+1tw MZ5w==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772108384; x=1772713184; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=fDv4oKg21e7Ond7z2MC9pkjK3UYtYXEHuVhQCLFQMUw=; b=YtYnJbmku0Vx3v3+eqBM3eZT7eXfiZOM3Ck6gKtrhoqcb8rY6R4BhEtlLv6a7SsNf3 sMDeO6FpuXGzP8jZnhPu+d6GLlcV6t6bSNbm1wRgDdhY+B0rQfvFGs3oEtRNzC50GNlK zJjkp1beR2Q+rJ/HY/tJepJmEJVc5OTKZRyrCA7hQUpS1VSBzAWn0FPdiefYZ59dGDC6 Up/v8ayd1zE1G27iWCnDzk6DYtKQ5geYeY8bRX/LHz00Vf2L6LC/VFUHS4wtqwyPp0mw cs9hIfAuAGaL/7FFY0Hy0iXXh9yBFn6Y40XGSLZi+IYw4FvuysV/xcI63yzrmR6lFxip bMKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772108384; x=1772713184; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=fDv4oKg21e7Ond7z2MC9pkjK3UYtYXEHuVhQCLFQMUw=; b=v6adrL9B7BQy80dXsXI+FU8yHugJi14xFdnQIXBsEUhUlJ94ssyPythJ7xk31IykqY RqG1YUzfsZWj/iuWBsOYwMjFbl4XLTsaZhA0GeidGY/MnPYdsZsnMFJrsbxG8EFvhOFw 1k4HIpm+UHZkfyvfh4WB9E+GUkDZ9LHNxHSuSuwzUnOwgjJNU+R9cTxDWpk6jFdS4PEc ADORpre3l61y8T5nCtt3MRbBXrjBNg5/CUPz1zUbc4aDpT4BRCEF2aNsup4BmeiRrNp2 78BvuhDDUfv+KVD3NTtNZHs8H6Blk8qJ+3eNieCDpgakDXtPojAbXxGLaVi0pOJZrWt0 p1dw== X-Forwarded-Encrypted: i=1; AJvYcCX71phTqz7tZGloisq+1osHoe7cGyNXG0pihIuusUYjPqMztXElg2g24H9Ega2YV4/Q1ybvdWcANK1vQ7mF@postgresql.org X-Gm-Message-State: AOJu0Yyrw8Lf9MpNf6r5Q6LGrKKnpJp+Te6qta7vvJXv8KXOnaYdCO7U CLrab7hNFMMvnsWc20Tz45083VIcOEq/Rod5284zN4ac7igJh9xwda1WP0rHEAc+83C8MqTN/0J sOT3XvUTaUV4+t84M9Bv/NfCDnJVhwaY= X-Gm-Gg: ATEYQzz2MJDqpVJZSspnI4sYQ+PRy/0NT16vwOYZ7Ui8J8lRjfmRY01TZzMOAv0txo2 b4vgmaVLOtFlM3V/KHsBlmq6+VQPax+V6NKec45hr1TxwuZG1rXAYSAsSm4OolVHRyOxEGJZyEa a+KXTxPRhopPVryPosjNC2HBHsJL1rlp6ui+2EL/8Po5C5RCi54Th2apMZSOGGeOe/LxfjCEiWl vZAM2VyOf9MyYeYoQyozahqM23oYT2uHFHvEtnnc8jG4fa64pdq/nogDzxDyNW9MddyByXUNCI+ Ba/z4lVbn+4X54LWkQ== X-Received: by 2002:a05:7300:a497:b0:2ba:6e87:525f with SMTP id 5a478bee46e88-2bd7bd7104bmr9029258eec.34.1772108383643; Thu, 26 Feb 2026 04:19:43 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Nazir Bilal Yavuz Date: Thu, 26 Feb 2026 15:19:32 +0300 X-Gm-Features: AaiRm53ngOUkF7Wafielrtf1yvnY9rPasGw2ZMHdXu7UvZVdvBglCB4zBrfqFck Message-ID: Subject: Re: Speed up COPY FROM text/CSV parsing using SIMD To: Nathan Bossart Cc: Manni Wood , KAZAR Ayoub , Neil Conway , Andrew Dunstan , Shinya Kato , PostgreSQL-development Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, On Wed, 25 Feb 2026 at 17:24, Nazir Bilal Yavuz wrote: > > I agree with you. However, unfortunately, I see regression on master + > v10 compared to REL_18_3 (62d6c7d3df6). > > Thank you Kazar and Manni for benchmarks in [1] and [2]! Kazar and Manni, if possible could you please share the build commands you use? I see regressions for an inlining patch (dc592a4155) too when I build postgres with -O2. My build commands are: -O2: meson setup buildtype=debugoptimized ... -O3: meson setup buildtype=release ... This is a wide benchmark only, old master means b2ff2a0b529 without 0001 inlining patch (dc592a4155): +--------------------------+---------------+---------------+ | | Text | CSV | +--------------------------+-------+-------+-------+-------+ | -O2 | None | 1/3 | None | 1/3 | +--------------------------+-------+-------+-------+-------+ | Old Master | 10440 | 11000 | 11940 | 13600 | +--------------------------+-------+-------+-------+-------+ | Old Master + 0001 | 10140 | 10800 | 11600 | 14300 | +--------------------------+-------+-------+-------+-------+ | Old Master + 0001 + 0002 | 9000 | 11000 | 8850 | 15300 | +--------------------------+-------+-------+-------+-------+ | | | | | | +--------------------------+-------+-------+-------+-------+ | | Text | | CSV | +--------------------------+-------+-------+-------+-------+ | -O3 | None | 1/3 | None | 1/3 | +--------------------------+-------+-------+-------+-------+ | Old Master | 10440 | 11200 | 12200 | 14390 | +--------------------------+-------+-------+-------+-------+ | Old Master + 0001 | 10000 | 10700 | 11540 | 13960 | +--------------------------+-------+-------+-------+-------+ | Old Master + 0001 + 0002 | 8880 | 10900 | 8900 | 15100 | +--------------------------+-------+-------+-------+-------+ This result shows that when we compare v18 and v18 + SIMD (0001 + 0002), there is only regression for the CSV 1/3 case. The regression is %12.5 for the -O2 and %5 for the -O3. -- Regards, Nazir Bilal Yavuz Microsoft