Subject RE: [firebird-support] RE: At my wits end
Author Epstein, Ed
The c++ programmers are not going directly to the API. They are using IBX
components to acheive that speed. I received some test programs written to
make calls directly to the API. I contracted that out on
That did not turn out to have any performance increase at all. It still
might be the server, since the 6K-7K did not occur on any of my servers. It
occured on theirs. However, theirs is running on systems with less
performance than mine. I have the fastest system in the whole building
getting the slowest results. Thats why I am inclined to beleive that its
me. I am redoing the OS on that system and installing Firebird 1.5RC5 as
suggested and am going to pull all the tests over again.

Edwin Epstein
> Continuity Partners Inc.
> 2753 S. Highland Dr.
> Suite 1010
> Las Vegas, Nevada 89109
> (702) 851-7850 Ext. 247
> eepstein@...
CONFIDENTIALITY NOTICE: The information contained in this message may be
privileged and confidential and protected from disclosure.
If the reader of this message is not the intended recipient, or an employee
or agent responsible for delivering this message
to the intended recipient, you are hereby notified that any dissemination,
distribution or copying of this communication is
strictly prohibited. If you have received this communication in error,
please notify us immediately by replying to the message and
deleting it from your computer.

-----Original Message-----
From: Daniel Rail [mailto:daniel@...]
Sent: Saturday, March 13, 2004 4:36 AM
Subject: Re: [firebird-support] RE: At my wits end


At March 13, 2004, 01:35, Epstein, Ed wrote:

> I don't mean 1.5 million insertions per second :) 500 to 700 is a little
> bit to slow for me yes.
> I only say this since the c++ programmers here who are working on another
> project have demonstrated 15000 inserts per second onto a local copy and
> 6000 to 7000 inserts per second to another database on the network.

After seeing this performance, the question should be: Is the
connection mechanism the bottle-neck? Because obviously it has been
demonstrated that it isn't the server.

Have you tried using direct API calls to GDS32.DLL or FBClient.dll?
That's probably what the C++ programmers are doing, and there's no
connection layer overhead when doing this. And, I think that is the
best way to achieve the performance that you are seeking. You can
find information on the API calls in IB's API Guide.

Here's the list of API calls that you probably would want to look at:
- isc_attach_database()
- isc_detach_database()
- isc_start_transaction()
- isc_commit_transaction()
- isc_dsql_execute_immediate() : Prepares and executes just once a
DSQL statement that does not return

But, before going the API way, find out if the ADO interface would
permit you to use the execute immediate interface. If it's not
possible with ADO, then you'll have to use the API calls.

Best regards,
Daniel Rail
Senior System Engineer
ACCRA Group Inc. (
ACCRA Med Software Inc. (

Yahoo! Groups Links