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 1vspVE-0035H4-0j for pgsql-hackers@arkaria.postgresql.org; Wed, 18 Feb 2026 21:54:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vspVD-000VQN-0Z for pgsql-hackers@arkaria.postgresql.org; Wed, 18 Feb 2026 21:54:35 +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 1vspVC-000VQE-2q for pgsql-hackers@lists.postgresql.org; Wed, 18 Feb 2026 21:54:34 +0000 Received: from mail-dy1-x1330.google.com ([2607:f8b0:4864:20::1330]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vspV9-000000002HF-1stm for pgsql-hackers@postgresql.org; Wed, 18 Feb 2026 21:54:34 +0000 Received: by mail-dy1-x1330.google.com with SMTP id 5a478bee46e88-2ba9c484e5eso300008eec.1 for ; Wed, 18 Feb 2026 13:54:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771451672; cv=none; d=google.com; s=arc-20240605; b=e3fcvxpeF++sQnxDEOyIyJIbegcL7jCA4rBNC6gqIoph2X860fSH8YHywTS+pCKXHJ VrrjlOA9/CdE7k1ewKupzdt1swhrHNJ8yltkTIr338yulSIzPOXzPQkYh30a0100Nf0o FUBpWXEipIxrg5hM+ECZRTclMYnf3ZyDtV4IMa/wtMMpFC/HfrMWz91BXuPx2ovEPxpQ 1dJb1TcEzwBwTcoj3wiAFpyI1PEoPFNVBhSMMvAvXPiY2bl5TmlBzOxWufthbT6QaiKN QTdS86otLMCQW1ysZSmqj8oH+8yjr0n1vySlKn7X308L6EiAxsca+dJo9lEMpZ9UIFP9 vx9Q== 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=hg7UVERhwPSgf4X4O6/oGifuirjs8QSiOqPc9t7i2jY=; fh=8Fa6qYRiHTUfYE+vLzwlJKXtO0uWBLeOzGHPSaNa4TA=; b=be3X5OoS2P2Bmc3z7V0H450Uwvs0LudoMQrnk5jovEa+TLd3Z1c/Cd2Z93Aony31gf TnIAaI1/AFAxO9BEoQ82wl62Lsg1xj+YeE5viI/tzHvzwZ+XDuxUCjpLNlOpThoy4LyK kE4ALWTdO1ISRuz9hjUpfL60SIrvuPCFYczz1Ln760mdSmTHORMTHlSSpdHRakWq97Fq Jw8Zl/XRamkjJTmI8/mov2dcxs1BflEYIDqZ39/oUJ9LGt7qPKgLSx1KxRFhYH0nzvRD orztYEUUER+Mcj2Luo6JmL02I/U54Dl53SnWVig5ujatDAmHS3OOzajnVYCAb7o5OJ2o y6bA==; 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=1771451672; x=1772056472; 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=hg7UVERhwPSgf4X4O6/oGifuirjs8QSiOqPc9t7i2jY=; b=GVJZ+R5X63VI9Tum2G35PVgprdI9JOyl9s+owNXjgm4J9lmbUGMW4o7bHxxj9l4tCe gbb7j8Qv5EiSQxTEGnnaoyi21/p0Bd+KHY4S9KwISTXg2ieN7GeKplM930gjpSkdxSsy re6pj4iKL9eep6eOn6khRPX7itCK16VhoM2PF2/XDWBmMkBg/qLI1kS6f40lneFfLz64 Z83Wra+aQSobUvgLkDBy7gYKxsPUSlUVAjMXeDwiwVQKoby/epSMlGfA50dXslYEAJPb VgLI9jcIZkFl8WVuaWKTOCUzoQD7sQzT3H+1vKyPwWfq3ax5KaC8DxIa5up44iSJDdlq +6zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771451672; x=1772056472; 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=hg7UVERhwPSgf4X4O6/oGifuirjs8QSiOqPc9t7i2jY=; b=lEmEh5bEIH5aRkUFzqIEAlJ8UDIOOa9Mc+/O0NwN6ILjuNisW+fJCopjsxJu/aJTkM 6qlAfciaE9NAkaFxBiJhYj5am7UaH4tjqozvvCkHvkvF59jydZQ0BAx7cR3VlV5rnE/2 kfxyyKmUe9vhCVn7cqA5mg6eif/HV/1j2HfZNAVVrVlijNCVQcp2qhiaxyrvhn9f7b7f h5P1+BZTgR3JgaGDp8WgqJ/Y8rjI34itc0ZQzYGY9ymlh+uYTL/LyOa8jl3vpn1idRC1 K+xbwCSzsnaJmrwkDi6wUez+VsBPOiEJQJ16YKi4KzhB2TaE6/lGo7e72+fSXNJUQ7fq dUXw== X-Forwarded-Encrypted: i=1; AJvYcCUkhXgW3HgWrhnefeuKuYlCg1fl6fgNTPmiif8L6i6z2UQzUbcl97tVFmEwQvzx4ETmBZFgWCGnTp2AaDfU@postgresql.org X-Gm-Message-State: AOJu0Yx0Xb14KNS554uVhRdiBw3upZmgwNFc/0NEFKu7q+0xZo/Qpx5/ VWmWnLife7UoPqku3NhyNkToJc5/7fdM7ViU8MxVCTjbXC9AcBo0z4mzWx9Z+OELrlh1JUw2i6L DGb1Fmjl7GADJNIEQlPiGnStx7W5MpB8= X-Gm-Gg: AZuq6aLGjguHPPPwcUXukRv9dH0eikDyOXoV1Wd+XPRpWKc5Dk3RNyfR5KRRYeFwYMy yUDTFfC4PutQNfS21AvHs4EmjZ6Owlz5T5nYb0jYKwhyu51wmJp8K48C6VtLhX9V9KRAV+mLx11 aDDFkgf5c5vYzV0nc3M3HN5ym1QlVM4gxhIUV2fJs4RVVO/dtd3nV5OdtW6qOZSa1xqvrdSfkEc KkBkKhP9qLQTqdRBOxKg2eo3f97Z9dTQYTV5M9SU1hRm4pRe7smcbV7NzzFLyT9gnPzN60+ZHNI 94MzpIc= X-Received: by 2002:a05:693c:2c81:b0:2ba:7863:f0a8 with SMTP id 5a478bee46e88-2bac993b6d2mr6119722eec.36.1771451671747; Wed, 18 Feb 2026 13:54:31 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Nazir Bilal Yavuz Date: Thu, 19 Feb 2026 00:54:20 +0300 X-Gm-Features: AaiRm52sVFrMmsOqdEnyLxf2AsbaRTu0dNdXucV0pN4DueNBw3DKuS5y3c2Q_d0 Message-ID: Subject: Re: Speed up COPY FROM text/CSV parsing using SIMD To: Nathan Bossart Cc: KAZAR Ayoub , Neil Conway , Manni Wood , 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 Thu, 19 Feb 2026 at 00:26, Nathan Bossart wrote: > > On Wed, Feb 18, 2026 at 04:38:07PM +0300, Nazir Bilal Yavuz wrote: > > By looking at these results having both is_csv and simd_enabled as an > > argument and sending them as constant boolean arguments help most. > > Thanks for doing these tests. ISTM we might as well get this initial > inlining stuff committed. Thoughts? nitpick: -static bool CopyReadLineText(CopyFromState cstate, bool is_csv); +static pg_attribute_always_inline bool CopyReadLineText(CopyFromState cstate, + bool is_csv); Do we want to move the new CopyReadLineText() declaration below to group it with the other functions marked pg_attribute_always_inline? Other than that, LGTM. I think it makes sense to separately commit this. -- Regards, Nazir Bilal Yavuz Microsoft