Hello I am sending little bit cleaned patch
there is significant speedup (on example from bug report) - more than 100x
on my Dell D830
postgres=# select fill_2d_array(300,300,1);
fill_2d_array
───────────────
90000
(1 row)
Time: 751.572 ms -- patched
postgres=# \q
bash-4.1$ psql postgres
psql (9.4devel)
Type "help" for help.
postgres=# select fill_2d_array(300,300,2);
fill_2d_array
───────────────
90000
(1 row)
Time: 87453.351 ms -- original
I checked a result and it is same.
Probably there are some issues, because domain tests fails, but these
numbers shows so a significantly faster array update is possible.
Interesting - I did a profiling and I didn't find anything interesting :(
Regards
Pavel
2013/10/3 Tom Lane <[email protected]>
> Pavel Stehule <[email protected]> writes:
> > If you can do a update of some array in plpgsql now, then you have to
> work
> > with local copy only. It is a necessary precondition, and I am think it
> is
> > valid.
>
> If the proposal only relates to assignments to elements of plpgsql local
> variables, it's probably safe, but it's also probably not of much value.
> plpgsql has enough overhead that I'm doubting you'd get much real-world
> speedup. I'm also not very excited about putting even more low-level
> knowledge about array representation into plpgsql.
>
> regards, tom lane
>
fast-array-update.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
