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 1tnyrk-004OvU-7a for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Feb 2025 11:49:17 +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 1tnyrl-003dDg-AV for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Feb 2025 11:49:15 +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 ) id 1tnyrk-003dDS-H1 for pgsql-hackers@lists.postgresql.org; Fri, 28 Feb 2025 11:49:15 +0000 Received: from meldrar.postgresql.org ([2a02:c0:301:0:ffff::31]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tnyrf-0009gj-1d for pgsql-hackers@postgresql.org; Fri, 28 Feb 2025 11:49:14 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Content-Transfer-Encoding:Content-Type: Mime-Version:References:In-Reply-To:From:Subject:Cc:To:Message-Id:Date:Sender :Reply-To:Content-ID:Content-Description; bh=/0N5MFn0VCyrCKlJqGqhU239WVS2M5D4TkfaZEOn7UQ=; b=tBenu9CjAn+cD4S0aJHYudh65P VClZcTQ0pwEDb7KzXufXIVIQgz8/TlMMa6E9o9gnJbGf4vimYHYqMz4WLqILW6k7wbL35UGDQ85Io mLn+BpmIrGaLVq6SOazUmaE2YXPOotda7A7PhS8Qxv9aKfaj5U3sMqZxKmpQgysIAaGkyBGmaAr7o 2+ZKDQ55skLhjnbODBds4NIBp5RSlO9QYDeGbZ6mYbiZjvmvrmHPl3ROQUsgQ9YfsM/B9vdVjJkzC Oa0XJrTWCxuRjFATNmB1irxqMKnzeIVpCkpoRis5PPbKUaOzMfMIieybtEQNcUu7e7Dr3/MHKwPYD dvcfHL4g==; Received: from [2409:11:4120:300:28e7:d7de:41f1:714b] (helo=localhost) by meldrar.postgresql.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (Exim 4.96) (envelope-from ) id 1tnyrY-000X8S-3A; Fri, 28 Feb 2025 11:49:07 +0000 Date: Fri, 28 Feb 2025 20:48:51 +0900 (JST) Message-Id: <20250228.204851.1356677729897999622.ishii@postgresql.org> To: ojford@gmail.com Cc: krasiyan@gmail.com, tgl@sss.pgh.pa.us, vik@postgresfriends.org, pgsql-hackers@postgresql.org, andrew@tao11.riddles.org.uk, david@fetter.org Subject: Re: Add RESPECT/IGNORE NULLS and FROM FIRST/LAST options From: Tatsuo Ishii In-Reply-To: References: <20250218.131928.503752198926696812.ishii@postgresql.org> X-Mailer: Mew version 6.8 on Emacs 26.3 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Fri_Feb_28_20_48_51_2025_174)--" Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2409:11:4120:300:28e7:d7de:41f1:714b (failed) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk ----Next_Part(Fri_Feb_28_20_48_51_2025_174)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit >> BTW, I noticed that in the code path where >> ignorenulls_getfuncarginframe() is called, WinSetMarkPosition() is >> never called? >> >> Attached version uses the mark_pos at the end. I did simple performance test against v8. EXPLAIN ANALYZE SELECT x, nth_value(x,2) IGNORE NULLS OVER w FROM generate_series(1,$i) g(x) WINDOW w AS (ORDER BY x ROWS BETWEEN 2 PRECEDING AND 2 FOLLOWING); I changed $i = 1k, 2k, 3k, 4k, 5k... 10k and got this: Number Time (ms) of rows ---------------- 1000 28.977 2000 96.556 3000 212.019 4000 383.615 5000 587.05 6000 843.23 7000 1196.177 8000 1508.52 9000 1920.593 10000 2514.069 As you can see, when the number of rows = 1k, it took 28 ms. For 10k rows, it took 2514 ms, which is 86 times slower than the 1k case. Can we enhance this? Graph attached. Best reagards, -- Tatsuo Ishii SRA OSS K.K. English: http://www.sraoss.co.jp/index_en/ Japanese:http://www.sraoss.co.jp ----Next_Part(Fri_Feb_28_20_48_51_2025_174)-- Content-Type: Image/Png Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="ignore_nulls_bench_graph.png" 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 ----Next_Part(Fri_Feb_28_20_48_51_2025_174)----