I am using Firebird embedded (2.5.2) on Linux (Ubuntu 14.04) via IBPP with a 
completely default firebird.conf.
 

 My hardware is a Dell Optiplex 755, Intel Core 2 Duo @ 2.33GHz with 4Gb RAM 
and a 2Tb Western Digital WD20EARX-32P hard disk.
 

 When I use IBPP to write a blob (actually a music MP3) to a simple test 
database (which contains about 12 tables with 6 records in each) it takes 
around 35 seconds to write a 10Mb file.
 

 The bottleneck seems to be when IBPP is writing a segment:
 

 (*gds.Call()->m_put_segment)(status.Self(), &mHandle, (unsigned short)size, 
(char*)buffer);
 

 The blob type is zero and has a segment size of 4096, I have matched this so 
the segment is written 4096 bytes at a time. I have tried smaller and larger 
sizes with little change in performance.
 

 I see similar performance inserting a blob using Flamerobin, but that is of 
course hardly surprising. Reading the blob is instantaneous in all cases.
 

 My question is: Is this the sort of performance I should be expecting or is 
there something wrong?
 

 TIA

Reply via email to