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 1vusuw-00BFEm-36 for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Feb 2026 13:57:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vusuv-001FNe-2U for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Feb 2026 13:57:37 +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.96) (envelope-from ) id 1vusuv-001FNW-1T for pgsql-hackers@lists.postgresql.org; Tue, 24 Feb 2026 13:57:37 +0000 Received: from mail-dy1-x1330.google.com ([2607:f8b0:4864:20::1330]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vusus-000000013wF-1N2r for pgsql-hackers@postgresql.org; Tue, 24 Feb 2026 13:57:37 +0000 Received: by mail-dy1-x1330.google.com with SMTP id 5a478bee46e88-2b86ce04c5cso2245263eec.1 for ; Tue, 24 Feb 2026 05:57:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771941453; cv=none; d=google.com; s=arc-20240605; b=T2fJe88DrCR1A4A5Yn3ZqdSXGPLFal9+ztUKWuHRgUH41i3TY4sf5D+p4fMZg54eFU 9Y/expv5Co7D2JhViL912hbaG2ONbFgNlbePvTWCjr6dh/nkccOXEcHwOiobdNd5Rdwc 0l+gMuZsb0++lMcQERxEPioaK4OnxGnyxumn83GwZz6+oz7pJrquku7YN/a1h9au5rGV j+BIldP/qXncZYZYT8QIc0hvhNKU3dch+9aUiRDx1imH7mGFbq63AhQ+GmQKeTYMmNTY FJR+vzE6hahYOXzGtvhaMhC/ysa33i5sVp7A7kb131WEWTX2VKk7eDzF9pje/mKueKU7 UD+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=Egz4pSvxXLN9jx5AKSAHSpf5qNJsOFjSygUYUfO+A50=; fh=0g+7dOD/dg/K9EtoaQsjsepFGkGwZeoxG6zsyirmLIE=; b=hDHcwufGtb8+qsaJV6JLGEDJER5hsbwT/6spQ4dHXQdMYLhSYHZcPrcFhEapfsRrVp lEJEgp89lFvD5GoS87LqksrPTE4WW7EAiWKQNTaY38KAYYn+umTVfKiKG7pIREcRuBab lAdIo+FxUkZz7UhxFP5vN/c7K3fw4riUJY49C46OjhvwQbGgLiB7nbhQpPrGk68n7oOj 6K27NJCzFJEAI2Tl/+h+hXEDP0rfd+fc5lJxJ1fNCdmrOZQrzHp1h8y+HCJ4TCgGRD5m 7iPcwP5pltnCO+Xnrx7OXNTcJijBPONIY6dChbCi5fqEfLstvxkDooIRHpXHWfukfacQ uDHw==; 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=1771941453; x=1772546253; darn=postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Egz4pSvxXLN9jx5AKSAHSpf5qNJsOFjSygUYUfO+A50=; b=dDhJ8Izch0r/MJH00KQTuOoQLlp9QAvWeYr4up6pu7NGbvYkGOr8MnXqeQJ/ODYeI+ xYTQKjymkv0/FbUNN3dvFemfaWJevP3cUB4wGSZyPwii1bqERCU/wqwMXljDjJiaoKuF /ZmA7tfH2duXSvGsmzul3emiFfU/HUhdyso28xRoZLT1GdjryJSjBIqautdKkAW+bURm jqutjaAfGAlc/vOOcUjZi19yd4qwmmnY+Yh7jcNq2EGQQqFmMODQKJXkGIAiIZ/NM59O Ytc1VSuhd3RYW3qHc/nfKR4uWfdU1y1XabnLxesBYhxtNy3nVJ0d4n4DXv2t3XQklwY8 e5Eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771941453; x=1772546253; h=content-transfer-encoding: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=Egz4pSvxXLN9jx5AKSAHSpf5qNJsOFjSygUYUfO+A50=; b=MulGWeeE7ptCHsYPCptb/l+I9dgJDdq2FVKj4iY9arehYHp8jMNeRGkxJltePfwG62 lakYS9TeOCx7EdcWTPT4j4hG+8c5ZHSlcAAwIzTwQlZ4ljSFVuqOfOFzIpksNqCeUr35 oUhcK2XekgyMcAKDt/otwBuUM6ZqPF/7xYpWlGJupzLCiri6kbVEDfB/x6oee7HLs5n3 bZoaP2+f9P70i1k3qKlZfN016Kgcl3mt5J+UKQgIFWQVOf9yNaBpV9nytlyhC6Ppn1nl K1ItX4ipwNbUhMUMkv/Cjvkj3JIk6iK8rcz9jdX/FHSNYq4n0chIlD8I/QkMjz3Ga/hz ACPw== X-Forwarded-Encrypted: i=1; AJvYcCVHKXrI+FyqeX7Ri9vFlt4xrz6zl8H2jBfAON6j3kM9rCkLxH6v00q2t3GuiNiVMIGIq32q5u5u+JLRvRF9@postgresql.org X-Gm-Message-State: AOJu0YyjTe4FRNOgoc68WZc58dQ3Ykdzix0IQ1H1E0AmZ/jeFhHMsUCR j8N4wQnZGaawKN7VdNuQVTqLKN7jLIs9B4sjG0KHx7i6UTbVa1ob2r+LvAA8Yt5Y5DjMA3r6e0L dY0VIIIUJHLNPGCPCkSyZAWiF5rvg0yE= X-Gm-Gg: ATEYQzyOX9GIrLqeQ59IaH+SpU6UQSMZb3Kg5cjBABuHurNgiZsml2C3EqoBf+04QjY 7TQBIxrL/J7VtAFuTpWoLmhGGetnrhMsE1gq1LwNzRMGwUXRQNr3byGkR7FAll0IyHFP4Tj3kD6 2psT8CNt1TuS8dp68XY12QAGfgj9f2dZGOTU/Oyjz717vcddDID6SRZIQ8xuQPIL/Nmn+NvVL7H B1iMMezM9M89taXNc1X9/ga6gaiC7p9KdfvySUhjIJOutf43en/UfvCN6oz1DoMGRlYuV9tsN98 hOag6E0= X-Received: by 2002:a05:7301:9bc5:b0:2ba:a0c6:ef5d with SMTP id 5a478bee46e88-2bd7bd2a538mr5080325eec.21.1771941452852; Tue, 24 Feb 2026 05:57:32 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Nazir Bilal Yavuz Date: Tue, 24 Feb 2026 16:57:21 +0300 X-Gm-Features: AaiRm5261vhckvil0WP2CR2Xsv-tG12NbWNaZE54YxCaiTEKjqOtegOJWiv0ndQ Message-ID: Subject: Re: Speed up COPY FROM text/CSV parsing using SIMD To: Manni Wood Cc: Nathan Bossart , KAZAR Ayoub , Neil Conway , Andrew Dunstan , Shinya Kato , PostgreSQL-development Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, On Tue, 24 Feb 2026 at 07:44, Manni Wood wrot= e: > > Hello! > > I ran some speed tests on Nazir's v10 SIMD-only patch. I'm a bit surprise= d at the regression for x86 with wide rows for the 1/3rd special characters= scenarios. I'm hoping it's something I did wrong. If anyone else has numbe= rs to share, that would be excellent. Thank you for doing this! I see similar regression on the wide & CSV 1/3 case by using your benchmark script. I didn't see this regression when I used my benchmark while sharing v9 [1]. +-------------+---------------------------+---------------------------+ | | Text | CSV | +-------------+-------------+-------------+-------------+-------------+ | WIDE TEST | None | 1/3 | None | 1/3 | +-------------+-------------+-------------+-------------+-------------+ | Master | 9996 | 10769 | 11548 | 13960 | +-------------+-------------+-------------+-------------+-------------+ | v10 | 8912 %-10.8 | 10902 %+1.2 | 8952 %-22.4 | 15123 %+8.3 | +-------------+-------------+-------------+-------------+-------------+ | | | | | | +-------------+-------------+-------------+-------------+-------------+ | | Text | | CSV | +-------------+-------------+-------------+-------------+-------------+ | NARROW TEST | None | 1/3 | None | 1/3 | +-------------+-------------+-------------+-------------+-------------+ | Master | 9441 | 9561 | 9734 | 9830 | +-------------+-------------+-------------+-------------+-------------+ | v10 | 9291 %-1.5 | 9504 -%0.5 | 9644 %-0.9 | 10078 %-2.4 | +-------------+-------------+-------------+-------------+-------------+ I will investigate this. However, please note that the current master includes the inlining commit (dc592a4155), which makes the COPY FROM faster. In my case, 1: current master without dc592a4155: 14400ms 2: current master: 13960ms (%3 improvement against #1) 3: current master + SIMD: 15123ms (%5 regression against #1 and %8 regression against #2) Is it possible for you to do a similar test? I mean dropping dc592a4155 from the current master and re-running the benchmark, that would be helpful. [1] https://postgr.es/m/CAN55FZ0MiFCgK26gRgE05a%3D_ggenkxDM8H%3DA2uTHpywczq= t%3D-Q%40mail.gmail.com -- Regards, Nazir Bilal Yavuz Microsoft