Subject Re: Firebird 1.5 with Jaybird 1.5 and cpu-utilization
Author Roman Rokytskyy
> > What happens to the disk system?
>
> Nothing special, what do you mean ?

I meant that sometimes when CPU is not "busy", disk can be very
"busy", in other words system is just working with your disk, e.g.
fetching a lot of data.

> I ' ve done some more testing (not with a profiler yet) on the Dual
> Pentium III-S System.
> There seems to be a problem with autocommit = true mode.
> I've done all my only reading transaction in this mode,
> there were never these problems with interclient and there are no big
> problems with Jaybird on a single processor system.
> But on dual system i have this cpu utilization-problem.
> Now i switched to autocommit = false and behavior is much better.
> Not 100 % cpu utilization but about 80 % which makes it much faster.
> Maybe you could take a look in autocommit code ?

The differences in the auto-commit mode in JayBird and InterClient are
caching of the complete result set for selects and explicit commit
after each transaction (InterClient uses commit retain mode, however
it is still not clear whether it is safe to use it for long lasting
transactions).

Caching will be removed in next version of JayBird. Reason for
introducing it was relatively simple: JDBC 1.x and 2.x specs did not
tell what should happen with the result sets of two statements
executed using the same connection in auto-commit mode. In JDBC 3.0
specification tells that only one result set can be kept open, and it
is automatically closed when another statement is executed. I will not
change this behavior now, it is too late for 1.5.

Roman