From 3d3e99ae52ff8895b840cbced2e55b5f849fd4be Mon Sep 17 00:00:00 2001 From: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Date: Wed, 22 May 2024 09:46:24 +0000 Subject: [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 :innocent: * 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() --- internal/iotools/io.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'internal/iotools/io.go') diff --git a/internal/iotools/io.go b/internal/iotools/io.go index d79843341..1c5da25d9 100644 --- a/internal/iotools/io.go +++ b/internal/iotools/io.go @@ -20,6 +20,8 @@ package iotools import ( "io" "os" + + "codeberg.org/gruf/go-fastcopy" ) // ReadFnCloser takes an io.Reader and wraps it to use the provided function to implement io.Closer. @@ -179,7 +181,7 @@ func TempFileSeeker(r io.Reader) (io.ReadSeekCloser, error) { return nil, err } - if _, err := io.Copy(tmp, r); err != nil { + if _, err := fastcopy.Copy(tmp, r); err != nil { return nil, err } -- cgit v1.2.3