05.03.2019 0:59, Vlad Khorsun wrote:
02.03.2019 14:25, Mark Rotteveel wrote:
On 28-12-2018 17:44, Mark Rotteveel wrote:
It looks like database creation in Firebird 4 is slower (about 50%) compared to 3.0.4. On my system, creating a database in
Firebird 3.0.4 (through org.firebirdsql.management.FBManager) takes roughly 200ms, while on Firebird 4.0.0.1352 it takes roughly
300ms.
Is this primarily due to increased size of metadata, or has something else
changed that slows this down?
This may seem trivial ('Who creates a lot of databases?' Well, I do): running Jaybird's tests creates a lot of databases, so a
decrease in performance there is very noticeable for me.
The Jaybird pure-java testsuite on 3.0.4 takes +/- 6 minutes, against 4 it takes +/- 10 minutes (although that also includes
extra tests for features not in Firebird 3). The testsuite consists of almost 5000 tests, which leads to the creation of - at a
guess - 1500 to 2000 databases (some tests don't need a database, and some tests share a database).
To be clear, I'm only asking if this is an unexpected performance regression, or if it is something that is expected with no room
for improvement.
Can anyone look at this?
I can confirm it. First look show that request compilation is slower in fb4,
i.e. it is general issue, not related with database creation directly.
Investigating.
Database creation time mostly contains from compiling and parsing requests.
Unfortunately, it is slower in fb4 than fb3 and fb3 is much slower than fb25.
IIRC, it was said here sometime ago and some improvement was made, but it is
still slow.
Regards,
Vlad
PS i see how to make database creation faster (by reusing compiled statements
whenever possible), but it will not solve general problem with compiation time.
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel