mirror of
https://github.com/netsampler/goflow2.git
synced 2024-05-06 15:54:52 +00:00
Defer unlocking just after taking a lock when possible (when unlock is done at the very end) and when not trivial (the function body is more than a couple of lines). This simplifies a bit some functions (no need to unlock before each return) and for the other, it may avoid a bug in the future in case a return is inserted into the body of a function. Use of defer has been optimized a lot in Go and it is believed that simpler defers have zero overhead since Go 1.14: https://golang.org/doc/go1.14#runtime > This release improves the performance of most uses of defer to incur > almost zero overhead compared to calling the deferred function > directly. As a result, defer can now be used in performance-critical > code without overhead concerns.