Optimize the temporary space manager regarding small chunk allocations
----------------------------------------------------------------------

                 Key: CORE-3457
                 URL: http://tracker.firebirdsql.org/browse/CORE-3457
             Project: Firebird Core
          Issue Type: Improvement
          Components: Engine
            Reporter: Dmitry Yemanov


Currently, the temp space manager is not tuned for small allocations properly. 
This is so because historically it has been developed primarily for 
sorting/merging purposes that are known to work with big memory blocks, but now 
it's also used for temporary blobs and record sets which can be quite small.

First of all, it allocates 1MB of memory even for a few bytes of the requested 
temporary space. In the concurrent environment, it could be a problem, forcing 
other processes to swap their temporary data to disk instead of using the 
available memory.

Second, the internal segment allocator uses the linear search which is 
sub-optimal when number of segments is large (many small blocks). This issue 
manifests itself while releasing thousands of tiny temporary blobs at the 
transaction completion.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to