-
Notifications
You must be signed in to change notification settings - Fork 240
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
Faster tar xzf linux-3.0.tar.gz
#16
Labels
Comments
The new(ish) sync.Pool may be of significant help here. |
Pool looks awesome! Is it already in Go 1.3?
|
I had a look, and in go 1.3.3 this ran without error: package main
import (
"sync"
)
func main() {
p := sync.Pool{
New: func() interface{} {
return nil
},
}
p.Get()
} It looks like it was added in 1.3. |
Fixed by hanwen/go-fuse#91 |
Merged as hanwen/go-fuse@c4b6b79 . |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
tar xzf linux-3.0.tar.gz
is my canonical small-file benchmark. Gocryptfs takes 2x the time compared to EncFS.Looking at the cpu profile, this is caused by heavy GC activity that originates in go-fuse. For each created file, an inode object is allocated. Recycling inode objects could reduce GC pressure considerably.
The text was updated successfully, but these errors were encountered: