Subject Re: Advantages of FB 2.1.2 vs. 2.0.5
Author Adam
--- In, "mariofb123" <mariofb123@...>
> Thank you Fabiano for your reply.
> I have checked the release notes you have suggested.
> However, I am still not able to find any information on the
> performance speed comparisons between the two versions: 2.0.5 and 2.1.2.
> Are you aware of any speed advantage when using version 2.1.2 with
> Delphi 7 applications (standard range of queries, not using any
> advanced database features offered by version 2.1.2), as compared to
> the older version 2.0.5 ?

How long is a piece of string? The optimiser is enhanced in each
version, so it will perform better (on average) than older versions.
But certainly not in every individual query; particularly when queries
have been profiled and if necessary manually tweaked to perform well
on an older version.

It is *your* job to profile *your* software to see whether the engine
enhancements and fixes have any bearing on performance. Anyone else
can just offer anecdotes that are absolutely meaningless.

If you want mine, some things became (measurably) faster. Some queries
became (unusably) slower. We had to rewrite those queries (about 30 in
total), and our application now runs measurably faster on 2.1.

> There must be a reason why Firebird continues to maintain two parallel
> versions (2.0.x and 2.1.x), not to mention the old series 1.5.x.

Three parallel versions.

> I would like to see some proper information provided by the developers
> why they are maintaining and offering all these different versions of
> Firebird ??
> All this range of versions and options is simply confusing.

Is the 'why' not common sense? People still use the older versions. If
a serious issue is found that affects the older versions, a fix is
(often/where practical) backported to a maintenance sub-release.

Generally speaking, you can safely upgrade a point release with
minimal testing because the behaviour of the engine does not radically
change. This is *not* the case with a major release.

For example, the results of a given query may be changed if it was
returning the wrong result (according to SQL standards) in the older
versions. In a major release, this behaviour may be fixed (breaking
applications that relied on the incorrect results). In a minor
release, the behaviour is likely to be left 'broken'.

Eventually, the old major releases are sunset (see 1.0 series); and no
more fixes are offered.

If you want a general principle, always aim to get your software
working on the latest major release (currently 2.1), and be thankful
that in the interim the most serious bugs tend to get patched on the
older major releases.