summaryrefslogtreecommitdiffhomepage
path: root/pkg/bits
diff options
context:
space:
mode:
authorJamie Liu <jamieliu@google.com>2019-06-06 17:20:43 -0700
committerShentubot <shentubot@google.com>2019-06-06 17:22:00 -0700
commit9ea248489b2144b4b477797ad744f500a9215dbc (patch)
treea3fb9c5429bca8d136f9f433e5190902b08d204b /pkg/bits
parent315cf9a523d409dc6ddd5ce25f8f0315068ccc67 (diff)
Cap initial usermem.CopyStringIn buffer size.
Almost (?) all uses of CopyStringIn are via linux.copyInPath(), which passes maxlen = linux.PATH_MAX = 4096. Pre-allocating a buffer of this size is measurably inefficient in most cases: most paths will not be this long, 4 KB is a lot of bytes to zero, and as of this writing the Go runtime allocator maps only two 4 KB objects to each 8 KB span, necessitating a call to runtime.mcache.refill() on ~every other call. Limit the initial buffer size to 256 B instead, and geometrically reallocate if necessary. PiperOrigin-RevId: 251960441
Diffstat (limited to 'pkg/bits')
0 files changed, 0 insertions, 0 deletions