Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimize the temporary space manager regarding small chunk allocations [CORE3457] #3818

Closed
firebird-issue-importer opened this issue Apr 30, 2011 · 7 comments

Comments

@firebird-issue-importer

Submitted by: @dyemanov

Votes: 1

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.

Commits: 455c4c8 fe1c4c1 2e00d41 ac4efcc

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Apr 30, 2011

Modified by: @dyemanov

assignee: Dmitry Yemanov [ dimitr ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Apr 30, 2011

Modified by: @dyemanov

status: Open [ 1 ] => In Progress [ 3 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Apr 30, 2011

Modified by: @dyemanov

Fix Version: 2.5.1 [ 10333 ]

Fix Version: 3.0 Alpha 1 [ 10331 ]

Fix Version: 2.1.5 [ 10420 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Aug 9, 2011

Modified by: @dyemanov

status: In Progress [ 3 ] => Open [ 1 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Mar 14, 2012

Modified by: @dyemanov

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Apr 23, 2013

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jul 15, 2015

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: Cannot be tested

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants