‘fmt’ is unnecessary to concatenate two strings. `benchcmp` says:
BenchmarkError-4 226 65.8 -70.88%
package signalcontext
import (
package signalcontext
import (
}
func (e Error) String() string {
}
func (e Error) String() string {
- return fmt.Sprintf("received signal: %s", e.Signal)
+ return "received signal: " + e.Signal.String()
assert.EqualError(t, Error{os.Interrupt},
"received signal: "+os.Interrupt.String())
}
assert.EqualError(t, Error{os.Interrupt},
"received signal: "+os.Interrupt.String())
}
+
+func BenchmarkError(b *testing.B) {
+ expected := "received signal: " + os.Interrupt.String()
+ for i := 0; i < b.N; i++ {
+ if s := (Error{os.Interrupt}).String(); s != expected {
+ b.Fatalf("expected %s, got %s", s, expected)
+ }
+ }
+}