Re: Inheritance planner CPU and memory usage change since 9.3.2
От | Robert Haas |
---|---|
Тема | Re: Inheritance planner CPU and memory usage change since 9.3.2 |
Дата | |
Msg-id | CA+Tgmob-kc6nLdYRVKn75s8b+v20u0Ndw00oJp_q1V-YZGbXEg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Inheritance planner CPU and memory usage change since 9.3.2 (Dean Rasheed <dean.a.rasheed@gmail.com>) |
Список | pgsql-hackers |
On Sun, Jun 21, 2015 at 5:45 AM, Dean Rasheed <dean.a.rasheed@gmail.com> wrote: > On 21 June 2015 at 05:27, Robert Haas <robertmhaas@gmail.com> wrote: >> On Sat, Jun 20, 2015 at 6:48 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >>> I propose instead the attached patch, which operates by identifying which >>> of the append_rel_list entries actually contain subquery references, and >>> copying only those; the other ones are just linked into the child's >>> append_rel_list by reference, which is okay because they won't get >>> modified. >> >> Better than unpatched, definitely! Not sure how it compares to my patch. >> > > I tested on my machine (optimised build, asserts off). With HEAD I got: > > Q1: 8076ms > Q2: 7165ms > Q3: 4027ms > Q4: OOM (killed by kernel, used > 16GB RAM) > Q5: 4131ms > > The machine only has 16GB of RAM and almost no swap, so it wasn't able to do Q4. > > With Robert's patch: > > Q1: 1121ms > Q2: 542ms > Q3: 498ms > Q4: 50763ms (used 3GB RAM) > Q5: 556ms > > and with Tom's patch: > > Q1: 2264ms > Q2: 3785ms > Q3: 507ms > Q4: 50851ms (used 3GB RAM) > Q5: 558ms > > However, there's an obvious improvement that can be made to Tom's > patch -- having computed modifiableARIindexes, you may as well use it > in the innermost loop to only apply ChangeVarNodes() to those > AppendRelInfo's that can actually change, rather than having it trawl > through all the other ones that we know won't be touched. > > With that improvement (attached), the timings become: > > Q1: 1148ms > Q2: 547ms > Q3: 505ms > Q4: 51325ms > Q5: 544ms > > i.e., basically the same as Robert's patch. Cool. That sounds good. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: