Subject Re: Write performance with Vista
Author henry FRANQUET
--- In IBObjects@yahoogroups.com, "jackmason7" <jackmason@...> wrote:
>
> --- In IBObjects@yahoogroups.com, "henry FRANQUET" <h.franquet@> wrote:
> >
> > Hi,
> > I have an app with Delphi 5 and IBObject 4.5 (an old version).
> > With IB_Pump I have very slow performance on Vista (100 times slower
> > than on XP Pro)
> > When using and enabling TIB_Monitor (with or without setting
> > OnMonitorOutputItem) the performance is correct
> >
> > Have you any idea on how to get good performance without enabling
> > IB_Monitor ?
> >
> > thanks
> >
> I have experienced this with Vista. There is a system program called
> searchindexer that runs when files are changing in Vista. It often
> takes up to 50% of the cpu time when Delphi compiles or a program
> tries to install, etc. Anything that creates more than a few files
> triggers it to run and the only way you can kill it is with the
> Windows Task Manager. You have to kill it three times. If you kill
> it once, it will restart in about 30 seconds. After you have killed
> the 3rd iteration, it will generally wait about 24 hours before it
> starts again. If you leave the Windows Task Manager running, you will
> see a little box on the right side of the task bar. You can see
> SearchIndexer running because it will turn the box bright green about
> 3/4 of the way up indicating it is busy indexing files.
>
Hi, thanks for the tips
But, as stopping SearchIndexer (service Windows Search) speeds up
Vista, I have always the same issue (more than 100 times slower under
Vista) with this service stopped
%cpu used by my app or fbserver = 0%

I have a restore database app wich use TIBOQueries to insert/update
and run rather normally on Vista. I experienced the speed issue only
with IB_DataPump on the Write part (I have used IB_Cursors as both
Source and Dest and used events BeforeExecuteItem and AfterExecuteItem
to decide which part of read or write was slow down

It seems like a Deadlock between threads which is broken by the hooks
IB_Monitor puts on