libgocryptfs/internal/syscallcompat
Jakob Unterwurzacher c943ed32aa syscallcompat: add getxattr fastpaths
The allocations from Lgetxattr were #1 in the tar extract
allocation profile (caused by security.capability lookups).
No more!

$ benchstat old.txt new.txt
name         old time/op  new time/op  delta
Lgetxattr-4  15.2µs ± 0%   1.8µs ± 0%   ~     (p=1.000 n=1+1)

$ ./benchmark.bash
Testing gocryptfs at /tmp/benchmark.bash.H8p: gocryptfs v2.0-beta1-4-g95ea738-dirty; go-fuse v2.0.4-0.20200908172753-0b6cbc515082 => github.com/rfjakob/go-fuse/v2 v2.0.4-0.20201015204057-88b12c99f8af; 2020-10-18 go1.15.3 linux/amd64
/tmp/benchmark.bash.H8p.mnt is a mountpoint
WRITE: 262144000 bytes (262 MB, 250 MiB) copied, 0,520109 s, 504 MB/s
READ:  262144000 bytes (262 MB, 250 MiB) copied, 0,255672 s, 1,0 GB/s
UNTAR: 30,238
MD5:   12,721
LS:    10,038
RM:    16,536
2020-10-18 00:25:42 +02:00
..
eintr.go syscallcompat: don't retry Close() 2020-10-14 13:40:12 +02:00
emulate_test.go syscallcompat: Drop Fstatat emulation on macOS. 2019-01-14 21:27:28 +01:00
emulate.go syscallcompat: Drop Fstatat emulation on macOS. 2019-01-14 21:27:28 +01:00
getdents_linux.go syscallcompat: warn when Getdents truncates data 2020-05-24 23:30:25 +02:00
getdents_other.go Update go-fuse import path to github.com/hanwen/go-fuse/v2 2020-05-17 14:23:47 +02:00
getdents_test.go Update go-fuse import path to github.com/hanwen/go-fuse/v2 2020-05-17 14:23:47 +02:00
helpers.go fusefrontend: doWrite: delete file header if first write fails 2018-07-15 15:12:55 +02:00
main_test.go tests: split testParentDir by UID 2019-05-01 13:12:44 +02:00
open_nofollow_test.go syscallcompat: untangle OpenNofollow and rename to OpenDirNofollow 2018-09-08 17:41:17 +02:00
open_nofollow.go syscallcompat: retry ops on EINTR 2020-10-14 00:35:16 +02:00
sys_common_test.go syscallcompat: add getxattr fastpaths 2020-10-18 00:25:42 +02:00
sys_common.go syscallcompat: add getxattr fastpaths 2020-10-18 00:25:42 +02:00
sys_darwin.go syscallcompat: add Renameat2 for Darwin 2020-09-09 11:16:29 +02:00
sys_linux.go syscallcompat: retry ops on EINTR 2020-10-14 00:35:16 +02:00
unix2syscall_darwin.go Fix unix2syscall_darwin.go build failure 2019-05-19 21:04:33 +02:00
unix2syscall_linux.go Fix assignment error in Unix2syscall by converting Timespec into Nsec (#203) 2018-02-03 13:42:49 +01:00