public inbox for [email protected]  
help / color / mirror / Atom feed
From: Tatsuo Ishii <[email protected]>
To: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Subject: Re: Add RESPECT/IGNORE NULLS and FROM FIRST/LAST options
Date: Fri, 28 Feb 2025 20:48:51 +0900 (JST)
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAGMVOdvtAEvv3KgkFoa2W5-vpz--QEvrVbvS84ZikcCb-SyA6g@mail.gmail.com>
References: <CAGMVOdtq=Uu-dfLxP3oJQ5fWv=wSuqwGq3P_OFq=+DS6K5vv5Q@mail.gmail.com>
	<[email protected]>
	<CAGMVOdvtAEvv3KgkFoa2W5-vpz--QEvrVbvS84ZikcCb-SyA6g@mail.gmail.com>

>> 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


Attachments:

  [image/png] ignore_nulls_bench_graph.png (21.9K, ../[email protected]/2-ignore_nulls_bench_graph.png)
  download | view image

view thread (11+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: Add RESPECT/IGNORE NULLS and FROM FIRST/LAST options
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox