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 1tu2RK-00329c-Hj for pgsql-hackers@arkaria.postgresql.org; Mon, 17 Mar 2025 04:51:02 +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 1tu2QK-005hYV-M2 for pgsql-hackers@arkaria.postgresql.org; Mon, 17 Mar 2025 04:50:00 +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.94.2) (envelope-from <3danissimo@gmail.com>) id 1tu2QK-005hW0-9u for pgsql-hackers@lists.postgresql.org; Mon, 17 Mar 2025 04:50:00 +0000 Received: from mail-yw1-x1136.google.com ([2607:f8b0:4864:20::1136]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from <3danissimo@gmail.com>) id 1tu2QI-003G3U-1L for pgsql-hackers@lists.postgresql.org; Mon, 17 Mar 2025 04:49:59 +0000 Received: by mail-yw1-x1136.google.com with SMTP id 00721157ae682-6f47ed1f40dso31017827b3.1 for ; Sun, 16 Mar 2025 21:49:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742186997; x=1742791797; darn=lists.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=CKIdOIjYo/z2SafLUI/m6LuLOlNPlOfU5gK85oSspb0=; b=KeNeXNMOXmKVxQWen2j+bytWaDVX/Vdq/F+CQFMiEmHCwJxdATOFix65Wy2iVBhrTv /4VgTm2cS12gxwQSGfu1xuLlAKQEVoEOzrhIY44HJuw8r37i2cLP9mAUDTPoolbDSPlo QDnDCGdbfldTuGO6IHHJL/PCRmwl78vqYUc9son/iNS+nMPMp86OvLJGJYDnk/fp9hci j1876zb+LRdlHbXhyzZjOvBjmdLDtgsPG0A0S8iUlk1UCNvwwJ6/yK2sMFsVHEqouUZE QeGj1QRht8rHySLEeFnRDTOE0g4X0jFzvepLCBw3rWTrP7/zucjN51gEU/EfRQja4KJ3 EOVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742186997; x=1742791797; 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=CKIdOIjYo/z2SafLUI/m6LuLOlNPlOfU5gK85oSspb0=; b=NLpLtCaWhQuByzhxSWy3S+fvtsty8g1lNnL8QSldSZrZFvXwTjnnhIJMVf/CpWxYMZ tP4gDc4qveIMnNOcyeTMe19HGEUzWSCrcYs416mT2XOQ+GfOVOUm2zkkP4d66GId1glH 1afWwd9s528fqz90TnGQ2uiGOt0Q/lykQ5z/N4+s1UJzf48AFwAi7j4MwZcRsidNJKWv XkeTRSAFg5ko1QnmngGQF2utBkQHXjv2NQl0mviKvoRaegcwc7FL2k0t+1CNDuk+WgTS 82liOqvn5MWr8BfhX0nPg4fprFHonLojmwHxNAW8ixgaqsCAdXCkAuunb04taT9dp7QA Sm1A== X-Forwarded-Encrypted: i=1; AJvYcCXuXLPZ9bo0NiNp6n1fgNO0UZSHtW/Cj7CmMwcvssrnr/dva79Hbg/8Om7oGEh5TA+rEFzirN16/UBZ9KQc@lists.postgresql.org X-Gm-Message-State: AOJu0YxLwvY/rJSBnlK+gd5iHsKzwrzknXZgJbLM0CGK56VcFuubcyf0 utbSTU7sHKFVV935GlgH3ypz54lTABOEfITeluCk35Z6xngMVPnNi0LfJSeSuQmUBNwzcESFtZl AljCXmqSfCx84vWHSN6ch42dq6S4= X-Gm-Gg: ASbGncsH24p+znUMaL6L91O0X6pSkaUoL8ZhO2T1IIguit2wu/8t5sj10MobBrsJl5y Ykmz4ZJCjkTI4i2t79ceyMLD7GF2ZyyYp4RJL5TOWo8UaQ13nBJO50aY9wRio+qURPcP2TnH7IB KCqmjRwGBMLKBt6DUDJkNhjqHf X-Google-Smtp-Source: AGHT+IESGX2bJ4QuLZkV8I1C4MPwxuMAyagR8Kt2/omMEda97rqcK4k4gdtdwUYnziPMgV3vIfn6CUQ5uzx0EADfX2c= X-Received: by 2002:a05:690c:6e0a:b0:6fe:aa66:5d41 with SMTP id 00721157ae682-6ff460fa00bmr143194577b3.31.1742186997225; Sun, 16 Mar 2025 21:49:57 -0700 (PDT) MIME-Version: 1.0 References: <20230603223824.o7iyochli2dwwi7k@alap3.anarazel.de> <6be6f58815dc0844fbe058edf56b4e735a6efc1c.camel@j-davis.com> <2280bf7241119bb88cbe0fe5eb36490cbd04c0c0.camel@j-davis.com> <12f1a2d8dd3b6305c0354f1c701f44b7be5e54eb.camel@j-davis.com> <8633171cb034aafc260fdf37df04b6c779aa1e2f.camel@j-davis.com> <229c4f7219ed164088dadc935df21e1cf125e191.camel@j-davis.com> <23a29125a2d07f96d49f97c31fcdb09a7f0ff6c1.camel@j-davis.com> <9F9326B4-8AD9-4858-B1C1-559FC64E6E93@gmail.com> In-Reply-To: From: Daniil Davydov <3danissimo@gmail.com> Date: Mon, 17 Mar 2025 11:49:45 +0700 X-Gm-Features: AQ5f1JoTyI_bEjmRZ3kDy3wkiUSJJbykuladRTKklOHnKE_l-fSAo95BlEfW_Po Message-ID: Subject: Re: Introduce new multi insert Table AM and improve performance of various SQL commands with it for Heap AM To: Jingtang Zhang Cc: Bharath Rupireddy , pgsql-hackers@lists.postgresql.org, 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, Recently I took more careful measurements of the performance. I compared three branches with each other: HEAD, Patched and Patched with tuplestore. Here are the results : 1) Test case : matview creation test attached in the email from Jingtang Zhang. 10 measurements for each branch. Result in wall clock execution time : HEAD 30.532 +- 0.59 seconds elapsed Patched 20.454 +- 0.114 seconds elapsed Patched with tuplestore 19.653 +- 0.111 seconds elapsed 2) -- init.sql drop table test_insert; vacuum; checkpoint; create table test_insert(i int, f float); -- iowrite.sql insert into test_insert select g, (g % 100) / 100.0 from generate_series(1, 1000000) as g; Test case : pgbench -f iowrite.sql -n -j 4 -c 10 -T 40 5 measurements for each branch. Result in tps : HEAD 1.025 +- 0.009 Patched 2.923 +- 0.032 Patched with tuplestore 2.987 +- 0.011 P.S. I cannot find a commitfest entry for this patch. Should we add it there? -- Best regards, Daniil Davydov