c4fc4b447f
The property squashing functions were performing 19% of all allocations and allocating 3.43 GB, most of which was used to track the name of the property, but the name of the property is only used to print errors. Keep the elements of the name in a preallocated slice instead, and only compute the name when an error occurs. Calling reflect.Value.Interface() was also expensive, and only passed to filter and order functions, none of which use the values. Modify the signature of the filter and order functions to remove the interfaces and the property name. Test: extend_test.go Change-Id: I517f89daf251bb43f7cfefa6f1e83951c0e271b7 |
||
---|---|---|
.. | ||
clone.go | ||
clone_test.go | ||
escape.go | ||
escape_test.go | ||
extend.go | ||
extend_test.go | ||
filter.go | ||
filter_test.go | ||
hash_provider.go | ||
hash_provider_test.go | ||
proptools.go | ||
proptools_test.go | ||
tag.go | ||
tag_test.go | ||
typeequal.go | ||
typeequal_test.go | ||
unpack.go | ||
unpack_test.go |