098c09334f
osFs.acquire and osFs.release are surprisingly expensive, using a combined 345.7s of runtime in an AOSP aosp_cf_x86_64_phone-userdebug build. They are used to ensure we don't use too many simultaneous open files, but many of the functions they are called from don't actually open a file. Remove them from all the stat-based functions (Exists, IsDir, IsSymlink, Lstat, Stat), and from ReadLink. After this change the time spent in acquire and release is effectively zero. Test: SOONG_PROFILE_CPU=/tmp/cpu.pprof m nothing Change-Id: Ie5e22e33c61794354821f05ab79ceb4efc3b276c |
||
---|---|---|
.. | ||
testdata | ||
fs.go | ||
fs_test.go | ||
glob.go | ||
glob_test.go | ||
lists.go | ||
lists_test.go |