Subject Re: Driver too slow
Author rrokytskyy
> I specificaly stated 'class 4 driver should be able to
> outperform interclient on a ''local connection''' Meaning with the
> server and client on the same machine with no 'real' network
> involved.
>
> I reliase that their may be more data going through the loopback
> connection between the Type 4 driver and interbase then there would
> be between interserver and the interbase but surely this is offset
> by the fact that the connection between interclient and interserver
> is eliminated. I mean with Interclient all data goes first to
> interserver though one loopback connection and then on to interbase
> through another loopback connection.

According to http://www.ibphoenix.com/ibp_proj_dbengine_ss.html, on
Win NT local connection goes through shared memory, and not over the
network interface. I cannot tell you anything about Linux. But now,
in the FB-devel list they discuss about correctly implementing shared
memory access. So you can expect this to be the main connection
method on localhost. And shared memory is faster than network anyway.

So, you do have only 1 loopback connection in both cases. But in type
4 driver you have a wire protocol overhead.

> I dont belive that well written Java code is significatly slower
> then native code on modern virtual machines, you would expect to at
> least get within half the speed of native code, but surely even
> this is insignificant compared to the time required for the
> database to actually process the request(surely just reading a
> single non sequentiual DWORD from the disk dwalfs this) and so
> should not make a percievable difference.

Java is not slow. But, anyway, I made some performance tests with IC
and type 4 driver, and type 4 is slower. And most of the execution
time it spends in socket communication stuff (I used JProbe
Profiler). That means that either our socket impl. is bad, or we do
have the overhead of the wire protocol. BTW, IC also spends almost
all time in socket communication.

> These are my opinions and if you belive they are wrong I would like
> to hear why.

Same applies to me. Currently I was not able to find the performance
problem. This is in my "to do list", probably with the high priority
after the bug fixing.

Best regards,
Roman Rokytskyy