Switching from reflect.ValueOf to reflect.TypeOf to get the kind
Switching from reflect.ValueOf to reflect.TypeOf to get the kind

It speeds up execution just a little bit, and is roughly equal in other cases.

e.g.

int8 shows +2.47% but the variance on the inputs is 5% and 7%
64 bit numbers show a consistent 4% speedup

$ benchstat before after2
name                                  old time/op  new time/op  delta
Interpolations/Single/bool/1-8        71.6ns ± 2%  70.2ns ± 2%  -2.01%  (p=0.000 n=30+29)
Interpolations/Single/string/1-8      86.0ns ± 2%  84.6ns ± 2%  -1.71%  (p=0.000 n=29+30)
Interpolations/Single/int/1-8         74.5ns ± 3%  73.8ns ± 3%  -0.89%  (p=0.009 n=30+29)
Interpolations/Single/int8/1-8        69.3ns ± 7%  71.0ns ± 5%  +2.47%  (p=0.003 n=28+30)
Interpolations/Single/int16/1-8       76.9ns ± 4%  74.2ns ± 2%  -3.61%  (p=0.000 n=27+28)
Interpolations/Single/int32/1-8       80.2ns ± 2%  77.2ns ± 3%  -3.80%  (p=0.000 n=28+30)
Interpolations/Single/int64/1-8       76.8ns ± 3%  73.9ns ± 3%  -3.73%  (p=0.000 n=26+30)
Interpolations/Single/uint/1-8        77.8ns ± 2%  74.3ns ± 3%  -4.49%  (p=0.000 n=30+30)
Interpolations/Single/uint8/1-8       73.6ns ± 2%  70.8ns ± 2%  -3.75%  (p=0.000 n=29+30)
Interpolations/Single/uint16/1-8      78.1ns ± 2%  74.6ns ± 3%  -4.48%  (p=0.000 n=29+29)
Interpolations/Single/uint32/1-8      80.2ns ± 2%  77.2ns ± 2%  -3.69%  (p=0.000 n=30+30)
Interpolations/Single/uint64/1-8      77.2ns ± 3%  74.1ns ± 3%  -4.04%  (p=0.000 n=29+29)
Interpolations/Single/float32/1-8     79.1ns ± 4%  79.3ns ± 6%    ~     (p=0.569 n=30+30)
Interpolations/Single/float64/1-8     77.6ns ± 2%  74.5ns ± 2%  -4.11%  (p=0.000 n=29+28)
Interpolations/Single/complex64/1-8   87.2ns ± 2%  87.1ns ± 2%    ~     (p=0.867 n=30+29)
Interpolations/Single/complex128/1-8  80.5ns ± 2%  81.4ns ± 2%  +1.17%  (p=0.000 n=29+28)

ScottMansfield/nanolog