aboutsummaryrefslogtreecommitdiff
path: root/tx.go
diff options
context:
space:
mode:
authorBen Johnson <benbjohnson@yahoo.com>2014-06-30 08:01:41 -0600
committerBen Johnson <benbjohnson@yahoo.com>2014-06-30 08:01:41 -0600
commitdef455554b5607ec6ccd0af51d0dea5401003e93 (patch)
tree3c866e1b594f37ae317218b3ba94965592ae8646 /tx.go
parentMerge pull request #214 from Shopify/fix_stats_sub (diff)
downloaddedo-def455554b5607ec6ccd0af51d0dea5401003e93.tar.gz
dedo-def455554b5607ec6ccd0af51d0dea5401003e93.tar.xz
Add freelist cache.
This commit adds a cache to the freelist which combines the available free pages and pending free pages in a single map. This was added to improve performance where freelist.isFree() was consuming 70% of CPU time for large freelists.
Diffstat (limited to 'tx.go')
-rw-r--r--tx.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/tx.go b/tx.go
index d8ffc08..5eada65 100644
--- a/tx.go
+++ b/tx.go
@@ -496,7 +496,7 @@ func (tx *Tx) Page(id int) (*PageInfo, error) {
}
// Determine the type (or if it's free).
- if tx.db.freelist.isFree(pgid(id)) {
+ if tx.db.freelist.freed(pgid(id)) {
info.Type = "free"
} else {
info.Type = p.typ()