On Mon, 2007-03-12 at 08:42 -0700, Luke Lonergan wrote: > On 3/12/07 6:21 AM, "Simon Riggs" <[EMAIL PROTECTED]> wrote: > > > So based on those thoughts, sync_scan_offset should be fixed at 16, > > rather than being variable. In addition, ss_report_loc() should only > > report its position every 16 blocks, rather than do this every time, > > which will reduce overhead of this call. > > And for N concurrent scans? > > I think there is actually no need to synchronize the shared buffers at all > for synchronized scans. The OS I/O cache will do that for us and we're just > going to interfere and pessimize by trying to divide up a local buffer.
I think you've misunderstood my comment slightly. In Jeff's patch, ss_report_loc() is called after every block is read, AFAICS. I was suggesting that we don't do it that frequently, to reduce the overhead of reporting the location. That has nothing to do with re-synchronising the two scans mid-way. -- Simon Riggs EnterpriseDB http://www.enterprisedb.com ---------------------------(end of broadcast)--------------------------- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate