Subject | Re: fbclient . dll |
---|---|
Author | Adam |
Post date | 2005-01-15T23:56:14Z |
It is unlikely to give you any performance increase, in fact it would
not surprise me if your pascal compiler didn't convert your code to C
objects then use a standard C compiler.
When you look at speed, there are 6 things to consider.
1) How long does it take to load the dll
2) How long does it take to connect to the database
3) How long does it take to send your query
4) How long does it take to prepare your query (optimise it)
5) How long does it take firebird to run your query
6) How long does it take firebird to return your data.
Loading the dll into memory (1) is only done once by your
application, so my suspicion is that this is only a very small
overhead, possibly measurable in milliseconds.
Sometimes (2) can be improved by tweaking some of the settings on the
server.
(3) and (6) are unlikely to be improved at all, unless your query is
poorly designed to receive more information than you actually need.
Generally speaking, the area you will be able to get the best speed
improvements is in the design of your query. You may see massive
improvemtns to (5) if your query is optimised. Download IBPlanalyzer
from Borland. This allows you to see how firebird executes your
query. You may realise that an extra index, or joining in a different
order may give you a 100x increase in speed.
Make sure you set statistics on your database. Outdated statistics
may cause firebird to overlook an index it should ideally be using,
because it doesn't appear to be a good choice by the old statistics.
Hope that helps
Adam
--- In firebird-support@yahoogroups.com, Sérgio Marcelo @ ...
<smace_br@y...> wrote:
not surprise me if your pascal compiler didn't convert your code to C
objects then use a standard C compiler.
When you look at speed, there are 6 things to consider.
1) How long does it take to load the dll
2) How long does it take to connect to the database
3) How long does it take to send your query
4) How long does it take to prepare your query (optimise it)
5) How long does it take firebird to run your query
6) How long does it take firebird to return your data.
Loading the dll into memory (1) is only done once by your
application, so my suspicion is that this is only a very small
overhead, possibly measurable in milliseconds.
Sometimes (2) can be improved by tweaking some of the settings on the
server.
(3) and (6) are unlikely to be improved at all, unless your query is
poorly designed to receive more information than you actually need.
Generally speaking, the area you will be able to get the best speed
improvements is in the design of your query. You may see massive
improvemtns to (5) if your query is optimised. Download IBPlanalyzer
from Borland. This allows you to see how firebird executes your
query. You may realise that an extra index, or joining in a different
order may give you a 100x increase in speed.
Make sure you set statistics on your database. Outdated statistics
may cause firebird to overlook an index it should ideally be using,
because it doesn't appear to be a good choice by the old statistics.
Hope that helps
Adam
--- In firebird-support@yahoogroups.com, Sérgio Marcelo @ ...
<smace_br@y...> wrote:
> I dont like the application depending on dlls.don't
> I would like it to be independent.
> No dlls. One unique file. I use now Pascal.
> Is really hard to convert this C dll to pascal?
> This way everything would be faster isnt it?
>
> Sérgio Marcelo
> drag and drop programmer.
>
> ----- Original Message -----
> From: Adam
> To: firebird-support@yahoogroups.com
> Sent: Saturday, January 15, 2005 9:24 PM
> Subject: [firebird-support] Re: fbclient . dll
>
>
> Sergio,
>
> You will have trouble getting assistance from this forum if you
> indicate what you are trying to achieve by not using the dll/so.Are
> you attempting a more lightweight connection, or some throttleddo,
> functionality for the remote client, or do you just want to
> distribute 1 executable to your client? Explain what you want to
> and someone has probably been there before and will tell you what
> they did to solve that problem
>
> Adam.
>
> [Non-text portions of this message have been removed]