Re: Manipulating complex types as non-contiguous structures in-memory - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Manipulating complex types as non-contiguous structures in-memory
Date
Msg-id 15959.1431306554@sss.pgh.pa.us
Whole thread Raw
In response to Re: Manipulating complex types as non-contiguous structures in-memory  (Andres Freund <andres@anarazel.de>)
Responses Re: Manipulating complex types as non-contiguous structures in-memory  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> I'm not sure what exactly to use as a performance benchmark
> here. For now I chose
> SELECT * FROM (SELECT ARRAY(SELECT generate_series(1, 10000))) d, generate_series(1, 1000) repeat(i);
> that'll hit array_out, which uses iterators.

Hmm, probably those results are swamped by I/O functions though.
I'd suggest trying something that exercises array_map(), which
it looks like means doing an array coercion.  Perhaps like so:

do $$
declare a int4[];
x int;
begin a := array(select generate_series(1,1000)); for i in 1..100000 loop   x := array_length(a::int8[], 1); end loop;
end$$;

Anyway, thanks for poking at it!
        regards, tom lane



pgsql-hackers by date:

Previous
From: Kouhei Kaigai
Date:
Subject: Re: Custom/Foreign-Join-APIs (Re: [v9.5] Custom Plan API)
Next
From: Robert Haas
Date:
Subject: Re: multixacts woes