aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/format
diff options
context:
space:
mode:
authorJavi Fontan <jfontan@gmail.com>2018-01-16 11:48:12 +0000
committerJavi Fontan <jfontan@gmail.com>2018-01-16 11:48:12 +0000
commit5b1cde56bde4834805b14f1613e8f7fda1703bf8 (patch)
treec7a3a031684f56ccc9ca90f668a2ee1d356098b5 /plumbing/format
parent4d43799bf111a66b204312c79f1d0dd0d96108b1 (diff)
downloadgo-git-5b1cde56bde4834805b14f1613e8f7fda1703bf8.tar.gz
Modify cache to delete more than one item to free space
The previous version could only delete the oldest used object. If the object to cache was bigger than the space freed it could not be added. Also the decoder adds bases to the cache when they are needed. This change increases the speed creating indexes 2x. Signed-off-by: Javi Fontan <jfontan@gmail.com>
Diffstat (limited to 'plumbing/format')
-rw-r--r--plumbing/format/packfile/decoder.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/plumbing/format/packfile/decoder.go b/plumbing/format/packfile/decoder.go
index cb78701..f706e5d 100644
--- a/plumbing/format/packfile/decoder.go
+++ b/plumbing/format/packfile/decoder.go
@@ -407,6 +407,8 @@ func (d *Decoder) fillOFSDeltaObjectContent(obj plumbing.EncodedObject, offset i
if err != nil {
return 0, err
}
+
+ d.cachePut(base)
}
obj.SetType(base.Type())