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 1w12fS-002RYj-1a for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Mar 2026 13:35:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w12fQ-004Ggg-07 for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Mar 2026 13:35:04 +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 1w12fP-004GgY-2R for pgsql-hackers@lists.postgresql.org; Fri, 13 Mar 2026 13:35:04 +0000 Received: from mail-dy1-x1336.google.com ([2607:f8b0:4864:20::1336]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w12fO-00000001wdH-1sgo for pgsql-hackers@postgresql.org; Fri, 13 Mar 2026 13:35:03 +0000 Received: by mail-dy1-x1336.google.com with SMTP id 5a478bee46e88-2b4520f6b32so3315076eec.0 for ; Fri, 13 Mar 2026 06:35:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773408902; cv=none; d=google.com; s=arc-20240605; b=A6pERrkilgLoHnlgBqiDfVXxZaOJKzXBpqoASK6ZyJcB5aVxGGUFp1qHy8XYhb+vZd JkkMB9iJ7ubrBVZvOFYbxB3IKQJwIWPiXsNpGQHF7D/p1WeBvvAaLAefOIFAL2au2L3t 3EGC+kQDrfpvV8vmX0G2JqgrTN0IeI7l31+q746RqtmpxdEcgeJQcopaefCUv4YFOVDz lVI6xFEqmkR0C+cuM2b7AH+TViRwgVMRp/3IF7zkZrg1TOOeA+yaqEFTQ867rEeay7dZ fvKhYg8ezxIVbuiedF6nqd8A38pMTCFmh1k3yanePEQRnsSqFvw/8UTFM7pozVebHpFw 1NVQ== 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=kxyXccMRmvVeEAkrGOApI6AjOzA5P0QIaJk/ZZVWhQY=; fh=2JcHRRpmjGvqDJamnc0wPkPYe+SBn9JaEGrBHBoPWG8=; b=aHvOzyoSL/bl4Al4JGJ1WlDhiCL3mytVjiN/dphQdHuuAYKAPDyiLJpTplKEmOnHDn DMV0e2yUMshqAPz5agYxXpe1LhDO4pn4MDxD4Y1mK27cVocLVjqkApzp6MRt7ZHSVXmh uXe8vj5M5H2rBIAoa8q5Kq7HRlicTE2O9nlnTSdNdGLb721ZPDqNro/c8pQUY4oYo69A kI5UFYDfw0Wjy77vqd45EwEJwt+NF7vIpAiKwp+DtGbFI4S2UkHLNg6M072A8zpuH9fm +TqjJ6jW8B605lqHKvl/r+vqv8sb3bMMBCR4MVN7LH1VX/3TCpTHIXZf0gQXxLSH3Gy4 Drtg==; 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=1773408902; x=1774013702; 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=kxyXccMRmvVeEAkrGOApI6AjOzA5P0QIaJk/ZZVWhQY=; b=WuTxNwIv5TRFFPYA/7Jg/F9EG758Dv/FkroJArLFawwMrORwtdktzad4ehp6RNo3Gz ZqIs0uqwlBPaS1Zrq1JDmLt3dtUmi8JMWaOhMIbnTEjxN9efq1rPmzelFXafP3dvsLmS XR3+5IqZZgdbuWj3py3CRP8eDO0Od7EC28YAwJaVhE1LZpD9qPiFteCQ7cnScpJVmoLA g0rpi86u/5jxejHapRwvNNsnWk3ojapiDE6ISVsGKEnWpqT7K6e01pM5XfjXxGNrA0XE g57FlWidGq9nXc2pxUkU0Kw1+0BeJrokbClmL074PuI5cixC8iCKaJA57Q7PsqsxBpYe dpYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773408902; x=1774013702; 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=kxyXccMRmvVeEAkrGOApI6AjOzA5P0QIaJk/ZZVWhQY=; b=aitits92kJTrB2nZu3pVBF0FseX+MyDj6NbOhVO6TJt59ALkBZ2XdjeOyC+118rX0b YxP3iGPMJOOAu1gcutTlTCGT5dSMSXV20dzagWV5GHa6HywhuSfehQZRJsbmnpRVEa8B VuKlM7rMBNbAUZ1tQuPt+sgn/ZbOt6wLlOvYgQUJX3fB4wO5sIX9wmugXUcqmN8mFkBf OOtPeT66a05Ta9/l+5GFrWyot9xVFg2tq1R5eAXiZqsI4Z6pIe4DaBO3eF6C5iMFo4fw JhZEt31NHF7v5eDxdMLE8gHPZtm9uPAnA6Yipz/TSYGuYpi+6lshZ1veJ0GRoOLcwffb JhYw== X-Forwarded-Encrypted: i=1; AJvYcCUUoYMFya1/iOP7EhT99NZPyye7e5oOWZaygy61OChZF7vCDpZ7hE0YQWDel2ScwKUHNzWY9tcNIRDc0Lrv@postgresql.org X-Gm-Message-State: AOJu0Yxqoqj4HYWuOsFrz/NQ4Gyd0ThdaGiX4tvGDN/2t2CprHThqW1J +FqaiYH34YPdK6JUpuJLgggYhN3Dv0YvtweUDTAdJVG/cxhDU6774q5bjjKPVxH2QHPj8Px0v9W 9Jg+EImVMeZt8TDwnrj96scKGmLgBMwk= X-Gm-Gg: ATEYQzwIf6ypGqxLI8spvWaZolipT2kaVkDA+uauP4E/Nb74DhFsWDsiqOZgwr0tk8f eoQQwNrOCIKcKbKVjbEuE9/eKejLM7mOpVkwL7fxfrH7bxhea8buJ9gn9LSruADnXpj5ogpDlzV LMEfKLU/6eMp1JO3VSUCEOSGnJjBEsiIDqYbsMopJEolL1vDjgKNV84qutVTIhdhGTJase+W3gW Xw20dJwVoaGSOi6UQsC0iQ3dDKm2b1655YKFiumzh2w7W5drG66fVGT80GKRpLkVxf13JtVPTEg CvZPAAY= X-Received: by 2002:a05:7300:8b83:b0:2be:2964:44c3 with SMTP id 5a478bee46e88-2bea547ccb8mr1420935eec.10.1773408901520; Fri, 13 Mar 2026 06:35:01 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Nazir Bilal Yavuz Date: Fri, 13 Mar 2026 16:34:49 +0300 X-Gm-Features: AaiRm51m5C7RHUGyK-NdpxLBbCE4nfHXzVx9XhFdHt3C-35tc3FH6bJdhp5fJ6s 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 Fri, 13 Mar 2026 at 14:57, Nazir Bilal Yavuz wrote: > > Unfortunately, v15 causes a regression for a 'csv & wide & 1/3' case > on my end. v14 was taking 8000ms but v15 took ~9100ms. If we add the > tmp_hit_eof variable then the regression disappears. Also, if I use a > struct like below, regression disappears again. > When I removed the tmp_hit_eof variable on v14, I didn't encounter any > regression. I really don't understand why this is happening on my end. > Manni didn't encounter any regression on the benchmark [1]. Problem might be related to gcc. I am using Debian Trixie and my current gcc version is 'gcc version 14.2.0 (Debian 14.2.0-19)'. If I compile Postgres with 'Debian clang version 19.1.7 (3+b1)', then there is no regression, which makes more sense IMO. Here is a comparison for csv & wide & 1/3 case. Postgres is compiled with buildtype=debugoptimized and default_toast_compression is lz4. +--------------------------------+ | CSV & WIDE & 1/3, LZ4, -O2 | +--------------+--------+--------+ | | gcc | clang | | | 14.0.2 | 19.1.7 | +--------------+--------+--------+ | old master | 8250 | 10400 | +--------------+--------+--------+ | v14 | 8100 | 9800 | +--------------+--------+--------+ | v15 | 9200 | 9800 | +--------------+--------+--------+ | v15 + struct | 7750 | 9800 | +--------------+--------+--------+ -- Regards, Nazir Bilal Yavuz Microsoft