Firebird News

Tuesday, February 01, 2005

Vulcan performance

On Firebird devel list Matt.Bays at nsc dot com wrote about what he found

"With the recent freedom of Vulcan, I thought I would re-run
some performance benchmarks that I had posted a while back.

To review, this is a real life application that provides analysis
of manufacturing test measurements, which are mostly 32 bit float
numbers. The benchmarks has two parts. The first will read a
file of these measurments and insert them as fast as it can into
a database. The second part is to fetch them back out as fast
as it can. I'm doing this on a RedHat WS3 version of Linux on
a single 2.6GHz box. Unless noted, this is using the Firebird
Classic build. In all cases the database is locally attached.

The good news is that FB1.5.2's perfomance has returned to that
of FB1.5 (FB1.5.1 had slowed down by a bit).

However, the perfomance of Vulcan still remains behind. The inserts
are about 50% the speed of FB1.5.2 and the queries are about 40%.

When I mentioned this last time, Jim suggested it might be due to
using the development build. I re-built Vulcan removing the
DEV_BUILD symbol, however the perfomance was basically the same.
I also tried to change the -g to -O, however I get a seg
fault when trying to attach a database.

I was going to try to re-create this situation in qli,
however the current download of Vulcan has an error when
trying to build qli when trying to access the help.fdb. I
copied the help.fdb from the Firebird tree, at which point
the build failed to compile. I can provide more details if
anyone is interested.

My gut feel is that at least part of the problem is the
SUPERSERVER conditional code that vulcan is using. When
I run my benchmark on a superserver install of FB1.5.2,
the numbers are similar to that of Vulcan (inserts slightly
slower, queries slightly higer).

If I can get a working copy of qli for vulcan, I will try
to recreate a benchmark to demonstrate this performance
difference. "

No comments: