flippo00110001 <dde...@umich.edu> writes:
>       tupstore = tuplestore_begin_heap(true, false, SortMem);

SortMem?  What are you testing, 7.4?

But anyway, the question I was going to ask is whether you made sure the
data set you're trying to return fits in memory.  If the tuplestore
spills to disk then it's certainly going to be a lot slower than the
function itself is.

I note that you seem to be leaking copies of all the data in the
inner loop --- it'd probably be advisable to do heap_freetuple(tup) to
avoid bloating executor memory with still a third copy of the dataset.

It might also be advisable to rethink your coding boundaries: if
getdata were to return a prefilled tuplestore instead of an array
that has to be converted into a tuplestore, you would at least save
memory space and perhaps some time too.

                        regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to