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 1uoN7K-002vuq-Ow for pgsql-hackers@arkaria.postgresql.org; Tue, 19 Aug 2025 14:15: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 1uoN7J-00CJ6F-ET for pgsql-hackers@arkaria.postgresql.org; Tue, 19 Aug 2025 14:15:14 +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 1uoN7J-00CJ5U-1x for pgsql-hackers@lists.postgresql.org; Tue, 19 Aug 2025 14:15:13 +0000 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uoN7H-000iwA-1l for pgsql-hackers@postgresql.org; Tue, 19 Aug 2025 14:15:13 +0000 Received: by mail-pj1-x102a.google.com with SMTP id 98e67ed59e1d1-32326e2f0b3so3985656a91.2 for ; Tue, 19 Aug 2025 07:15:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1755612909; x=1756217709; 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=ZR5VbNxDuT/YBDXctVQlnjRLqWZC42HDfPzKhraOeBc=; b=bsoDJYWHv4JkZVbkTT6VytoNXEFXs55VzNxGEr1p/ZHZtUpuZ56YmdMwUbVsyAb/Rf gdUZHFB4YWsjsK/u5Xqm+2/BLqRZa7xmCOuZ0jF0bAWV2UR7auFMHwfc26wGhQNyqa7n KrG9GaRgAkXdD35u0G2odycuCoIJYZLjuhhP2riveVmLexOeH6hdAl872ZpGnXkNUuPt wRI1Oq9h+aNcdSout/4ciMJZanFeZdxU90SK1FxEBNsgtN/GOCnT6zxmRbsc3hph6NHT HedEdVTahVZ8IvKe+gGhzAnd/7zgPfLuSG17GuYofV4KaW2A2gPActWaLWuNbTxKJcDe m6Uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755612909; x=1756217709; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ZR5VbNxDuT/YBDXctVQlnjRLqWZC42HDfPzKhraOeBc=; b=JPS3E0vR07mpfIuBnk9vCLiUgCfliYyYiJGFzNwIyBoMqPdnCQRwI1o9S4bDBOlpkz 82lmOg6WylUNTgKkT3d4qlEnzlTdFEwzxF8lhLK2oMDtJQawGgsN9kLvn5Va11YPEy2z 8jqKKZH3n/6LXMSKRaEnCjxGjqIwj0zBeAf35VTCXjk4HNxhOLfOUpYLvZJuvNoIq2qa vt7EAh5nuFQXaop0OOVHcj1DTdImt015X4a+2vRVFe8OD0TJfIitBeE+dYAA/IDMfOSz r/Yx8HLlRcUgb2vCj48DhgjEIijGeDcJVxu+/RJyZ8ea6tF4G0jlWktvy3iIHN6CrEtx rLiQ== X-Forwarded-Encrypted: i=1; AJvYcCWCncpDvz1eKLuL2Wl4b4JyNZpIR/ZDfvlNXkq/Z0OQ18qhodjIzAJBYnHQnRcrgwx9y54H4HeQ3MgIeQTU@postgresql.org X-Gm-Message-State: AOJu0YyN2xeQT6nZgOENXXxZpoULPgfgaY1Aa4O2HhHlpnLVCoYFZ8Pg vn9lsj5Z6t+p/Veleux9Jyzd8Lin8oU/FyzZSOfmMb5EShNnnxoMfvDhJdEihGfFgvUyp0v7i2p 2tR/Pse6Kpbk8uZ/tcFanE/+vUMG8Xgg= X-Gm-Gg: ASbGncsiwcKZEycepc+rAUz8sIoE4Cf8hYRervg8HijpLBeYKXX//vUy2NBWbPz+BNq pqXOXUyXZWFPb2FJuHwwX5KRNv/Kfc69IM68gwx5obLVqTjAhLav0ydLSvz8ZZl1D41iBG2Ym8E 1yggyWGiv7cO/OHI5EY5uAqeKbuZImz8kjjlfkQ6tLMKsX7iaMAVknBykN1ssQ7GZtfc7E+cTlb SOZSLaUhg== X-Google-Smtp-Source: AGHT+IHhaNSSt6GlQZHohVnonMLqX14HtSEnqSer5iHJCiKQGNKB9VJtz8KQMfSgsMxDSTgN1ruT9qSFvazXvSdcRGw= X-Received: by 2002:a17:903:291:b0:235:779:ede5 with SMTP id d9443c01a7336-245e04add82mr31609845ad.40.1755612907937; Tue, 19 Aug 2025 07:15:07 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Nazir Bilal Yavuz Date: Tue, 19 Aug 2025 17:14:54 +0300 X-Gm-Features: Ac12FXzZ1deoAhAtGmQRWMvbrLinAtDQkd-Xm_lXxfuLLKBBv3fRcH9giuPZ2G8 Message-ID: Subject: Re: Speed up COPY FROM text/CSV parsing using SIMD To: KAZAR Ayoub Cc: Shinya Kato , pgsql-hackers@postgresql.org 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 Tue, 19 Aug 2025 at 15:33, Nazir Bilal Yavuz wrote: > > I am able to reproduce the regression you mentioned but both > regressions are %20 on my end. I found that (by experimenting) SIMD > causes a regression if it advances less than 5 characters. > > So, I implemented a small heuristic. It works like that: > > - If advance < 5 -> insert a sleep penalty (n cycles). 'sleep' might be a poor word choice here. I meant skipping SIMD for n number of times. -- Regards, Nazir Bilal Yavuz Microsoft