Subject Performance of Firebird (Superserver vs Superclassic, etc.)
Thought I would share some experience we have gained recently.

We have an application consisting of a C++ Builder front end and Firebird 2.5 as the backend.  Running on Windows.  The database includes a ton of stored procedures with some fairly intricate calculations.

A typical installation might have 45,000 records in the main table, with another 180 tables that can have a few records to a couple of hundred thousand of records in each of them.

We had one main calculation routine that goes through the 45,000 records (one by one) and runs a bunch of stored procedures that populate once particular table in the database.  This process was taking approx. 30 minutes for one client.

We had an idea to change the calculation to divide the 45,000 records into smaller chunks and processing them at the same time in different threads.  We are using 10 threads for this operation.  This cut the processing time in half from 30 minutes to 15 minutes.

Also, we had always run Firebird as Superserver.  We decide to install Firebird as Superclassic in order to take advantage of the multiple processors that most of our clients have on their servers.  The particular client above has 4 processors on his server.

After changing the Firebird installation to Superclassic, the processing time went down to approx. 5 minutes.

Needless to say, we are very happy with the results of this.  Still doing some testing before getting this out to our client base.

Todd Brasseur, A.M.A.A.
Compass Municipal Services Inc.