External Sort timing debug statements - Mailing list pgsql-patches

From Simon Riggs
Subject External Sort timing debug statements
Date
Msg-id 1128278598.8603.10.camel@localhost.localdomain
Whole thread Raw
Responses Re: [HACKERS] External Sort timing debug statements
List pgsql-patches
The following patch implements a fairly light set of timing statements
aimed at understanding external sort performance. There is no attempt to
alter the algorithms.

Each major point in the algorithms is marked as shown in this example:

postgres=# set debug_sort=true;
SET

postgres=# explain analyze select * from test2 order by col1,col2;

NOTICE:  tuplesort begin  work_mem= 1024
NOTICE:  +0 secs  heap sort  nkeys= 2
NOTICE:  +0 secs  switching to external sort
NOTICE:  +1129 secs  starting build of next run
NOTICE:  +2229 secs  run building complete  nruns= 2
NOTICE:  +2229 secs  merging runs with 6 tapes

...

NOTICE:  +3036 secs  starting final merge

I'll add other information, as requested.

The "6 tapes" is currently hardcoded, though is included in expectation
of implementing variable numbers of tapes.

I'm not sure if I got the header file correct for full portability of
gettimeofday(). Please correct me, if this is the case.

Please post sort performance data back via this post.

Best Regards, Simon Riggs

Attachment

pgsql-patches by date:

Previous
From: Qingqing Zhou
Date:
Subject: database file compatibility patch
Next
From: Thomas Hallgren
Date:
Subject: Re: Path to enable a module to change the stack_base_ptr