mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[performance] update storage backend and make use of seek syscall when available (#2924)
* update to use go-storage/ instead of go-store/v2/storage/
* pull in latest version from codeberg
* remove test output 😇
* add code comments
* set the exclusive bit when creating new files in disk config
* bump to actual release version
* bump to v0.1.1 (tis a simple no-logic change)
* update readme
* only use a temporary read seeker when decoding video if required (should only be S3 now)
* use fastcopy library to use memory pooled buffers when calling TempFileSeeker()
* update to use seek call in serveFileRange()
This commit is contained in:
24
vendor/codeberg.org/gruf/go-storage/internal/path.go
generated
vendored
Normal file
24
vendor/codeberg.org/gruf/go-storage/internal/path.go
generated
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
package internal
|
||||
|
||||
import (
|
||||
"sync"
|
||||
|
||||
"codeberg.org/gruf/go-fastpath/v2"
|
||||
)
|
||||
|
||||
var pathBuilderPool sync.Pool
|
||||
|
||||
func GetPathBuilder() *fastpath.Builder {
|
||||
v := pathBuilderPool.Get()
|
||||
if v == nil {
|
||||
pb := new(fastpath.Builder)
|
||||
pb.B = make([]byte, 0, 512)
|
||||
v = pb
|
||||
}
|
||||
return v.(*fastpath.Builder)
|
||||
}
|
||||
|
||||
func PutPathBuilder(pb *fastpath.Builder) {
|
||||
pb.Reset()
|
||||
pathBuilderPool.Put(pb)
|
||||
}
|
Reference in New Issue
Block a user