From 23dd2066dd984a7a667b383f2ce26951d678e9dd Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Thu, 17 Sep 2026 17:34:21 -0400 Subject: [PATCH 1/7] Add json v1/v2, round-trip, and sample unmarshal benchmark tests Signed-off-by: Jordan Liggitt --- model/api_bench_test.go | 140 ++++++++++++++++++++++++++++ model/time127_test.go | 176 +++++++++++++++++++++++++++++++++++ model/value127_test.go | 62 ++++++++++++ model/value_float127_test.go | 83 +++++++++++++++++ 4 files changed, 461 insertions(+) create mode 100644 model/api_bench_test.go create mode 100644 model/time127_test.go create mode 100644 model/value127_test.go create mode 100644 model/value_float127_test.go diff --git a/model/api_bench_test.go b/model/api_bench_test.go new file mode 100644 index 00000000..79c2186f --- /dev/null +++ b/model/api_bench_test.go @@ -0,0 +1,140 @@ +// Copyright The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +package model + +import ( + "encoding/json" + "strconv" + "testing" + "time" +) + +func generateData(timeseries, datapoints int) (floatMatrix, histogramMatrix Matrix) { + for i := range timeseries { + lset := map[LabelName]LabelValue{ + MetricNameLabel: LabelValue("timeseries_" + strconv.Itoa(i)), + "foo": "bar", + } + now := Time(1677587274055) + floats := make([]SamplePair, datapoints) + histograms := make([]SampleHistogramPair, datapoints) + + for x := datapoints; x > 0; x-- { + f := float64(x) + floats[x-1] = SamplePair{ + // Set the time back assuming a 15s interval. Since this is used for + // Marshal/Unmarshal testing the actual interval doesn't matter. + Timestamp: now.Add(time.Second * -15 * time.Duration(x)), + Value: SampleValue(f), + } + histograms[x-1] = SampleHistogramPair{ + Timestamp: now.Add(time.Second * -15 * time.Duration(x)), + Histogram: &SampleHistogram{ + Count: FloatString(13.5 * f), + Sum: FloatString(.1 * f), + Buckets: HistogramBuckets{ + { + Boundaries: 1, + Lower: -4870.992343051145, + Upper: -4466.7196729968955, + Count: FloatString(1 * f), + }, + { + Boundaries: 1, + Lower: -861.0779292198035, + Upper: -789.6119426088657, + Count: FloatString(2 * f), + }, + { + Boundaries: 1, + Lower: -558.3399591246119, + Upper: -512, + Count: FloatString(3 * f), + }, + { + Boundaries: 0, + Lower: 2048, + Upper: 2233.3598364984477, + Count: FloatString(1.5 * f), + }, + { + Boundaries: 0, + Lower: 2896.3093757400984, + Upper: 3158.4477704354626, + Count: FloatString(2.5 * f), + }, + { + Boundaries: 0, + Lower: 4466.7196729968955, + Upper: 4870.992343051145, + Count: FloatString(3.5 * f), + }, + }, + }, + } + } + + fss := &SampleStream{ + Metric: Metric(lset), + Values: floats, + } + hss := &SampleStream{ + Metric: Metric(lset), + Histograms: histograms, + } + + floatMatrix = append(floatMatrix, fss) + histogramMatrix = append(histogramMatrix, hss) + } + return floatMatrix, histogramMatrix +} + +func BenchmarkSamplesJSONUnmarshal(b *testing.B) { + for _, timeseriesCount := range []int{10, 100, 1000} { + b.Run("series="+strconv.Itoa(timeseriesCount), func(b *testing.B) { + for _, datapointCount := range []int{10, 100, 1000} { + b.Run("dp="+strconv.Itoa(datapointCount), func(b *testing.B) { + floats, histograms := generateData(timeseriesCount, datapointCount) + + floatBytes, err := json.Marshal(floats) + if err != nil { + b.Fatalf("Error marshaling: %v", err) + } + histogramBytes, err := json.Marshal(histograms) + if err != nil { + b.Fatalf("Error marshaling: %v", err) + } + + b.Run("type=floats", func(b *testing.B) { + b.ReportAllocs() + for b.Loop() { + var m Matrix + if err := json.Unmarshal(floatBytes, &m); err != nil { + b.Fatal(err) + } + } + }) + b.Run("type=histograms", func(b *testing.B) { + b.ReportAllocs() + for b.Loop() { + var m Matrix + if err := json.Unmarshal(histogramBytes, &m); err != nil { + b.Fatal(err) + } + } + }) + }) + } + }) + } +} diff --git a/model/time127_test.go b/model/time127_test.go new file mode 100644 index 00000000..c546059f --- /dev/null +++ b/model/time127_test.go @@ -0,0 +1,176 @@ +//go:build go1.27 + +// Copyright The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package model + +import ( + jsonv1 "encoding/json" + jsonv2 "encoding/json/v2" + "fmt" + "math" + "reflect" + "testing" +) + +func TestTimeJSONV2(t *testing.T) { + cases := []int64{ + math.MinInt64, + -9999999999995500, + -9999999999994500, + -9007199254740992, // smallest integer with float precision + -8123456789012345, + math.MinInt32, + -10000, + -9000, + -8000, + -7000, + -6000, + -5000, + -4000, + -3000, + -2000, + -1000, + -900, + -800, + -700, + -600, + -500, + -400, + -300, + -200, + -100, + -10, + -1, + 0, + 1, + 10, + 100, + 200, + 300, + 400, + 500, + 600, + 700, + 800, + 900, + 1000, + 2000, + 3000, + 4000, + 5000, + 6000, + 7000, + 8000, + 9000, + 10000, + math.MaxInt32, + 8123456789012345, + 9007199254740992, // largest integer with float precision + math.MaxInt64, + } + + for _, i := range cases { + t.Run(fmt.Sprintf("%d", i), func(t *testing.T) { + if i != math.MinInt64 { + testV1V2Marshal(t, "-1", Time(i-1)) + } + testV1V2Marshal(t, "=", Time(i)) + if i != math.MaxInt64 { + testV1V2Marshal(t, "+1", Time(i+1)) + } + }) + } + testV1V2Marshal(t, "-1", Time(-1)) + testV1V2Marshal(t, "0", Time(0)) + testV1V2Marshal(t, "1", Time(1)) +} + +func testV1V2Marshal(t *testing.T, name string, v jsonv1.Marshaler) { + t.Run("v1v2_"+name, func(t *testing.T) { + b1, err := v.MarshalJSON() + if err != nil { + t.Fatal(err) + } + b2, err := jsonv2.Marshal(v) + if err != nil { + t.Fatal(err) + } + if string(b1) != string(b2) { + t.Logf("v1=%s", string(b1)) + t.Logf("v2=%s", string(b2)) + t.Fatalf("v1/v2 mismatch") + } + }) +} + +func testRoundTrip(t *testing.T, name string, v any) { + t.Run("roundtrip_"+name, func(t *testing.T) { + b, err := jsonv1.Marshal(v) + if err != nil { + t.Fatal(err) + } + t.Log(string(b)) + + outPtr := reflect.New(reflect.TypeOf(v)).Interface() + if err := jsonv1.Unmarshal(b, outPtr); err != nil { + t.Fatal(err) + } + + out := reflect.ValueOf(outPtr).Elem().Interface() + if !reflect.DeepEqual(v, out) { + t.Fatalf("did not round-trip\nwant: %#v\ngot: %#v", v, out) + } + }) +} + +type unmarshaler interface { + UnmarshalJSON([]byte) error +} + +func testDecodeSuccessParity[T unmarshaler](t *testing.T, input string, newObj func() T) { + t.Run("decode_success_"+input, func(t *testing.T) { + s1 := newObj() + v1err := s1.UnmarshalJSON([]byte(input)) + + s2 := newObj() + v2err := jsonv2.Unmarshal([]byte(input), s2) + + if v1err != nil { + t.Fatalf("expected success, got error from v1: %v", v1err) + } + if v2err != nil { + t.Fatalf("expected success, got error from v2: %v", v2err) + } + if !reflect.DeepEqual(s1, s2) { + t.Errorf("inconsistent result: v1: %#v, v2=%#v", s1, s2) + } + }) +} + +func testDecodeErrorParity[T unmarshaler](t *testing.T, input string, newObj func() T) { + t.Run("decode_error_"+input, func(t *testing.T) { + s1 := newObj() + v1err := s1.UnmarshalJSON([]byte(input)) + if v1err == nil { + t.Fatalf("expected error, got none from v1") + } + + s2 := newObj() + v2err := jsonv2.Unmarshal([]byte(input), s2) + if v2err == nil { + t.Fatalf("expected error, got none from v2") + } + }) +} diff --git a/model/value127_test.go b/model/value127_test.go new file mode 100644 index 00000000..792295f4 --- /dev/null +++ b/model/value127_test.go @@ -0,0 +1,62 @@ +//go:build go1.27 + +// Copyright The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package model + +import ( + "fmt" + "testing" +) + +func TestSampleStreamJSONV2(t *testing.T) { + cases := []SampleStream{ + {}, + {Metric: Metric{}}, + {Metric: Metric{"a": "", "b": "", "c": "", "d": "", "e": "", "f": "", "g": ""}}, + {Values: []SamplePair{}}, + {Values: []SamplePair{{}}}, + {Values: []SamplePair{{Timestamp: Time(1), Value: SampleValue(1)}}}, + {Histograms: []SampleHistogramPair{{Timestamp: Time(1), Histogram: &SampleHistogram{}}}}, + {Metric: Metric{}, Values: []SamplePair{}}, + {Metric: Metric{}, Values: []SamplePair{{}}, Histograms: []SampleHistogramPair{{Timestamp: Time(1), Histogram: &SampleHistogram{}}}}, + } + + for i, v := range cases { + testV1V2Marshal(t, fmt.Sprintf("%d_%#v", i, v), v) + testRoundTrip(t, fmt.Sprintf("%d_%#v", i, v), v) + } +} + +func TestSampleHistogramPairJSONV2(t *testing.T) { + for _, input := range []string{`[1.123,{}]`} { + testDecodeSuccessParity(t, input, func() *SampleHistogramPair { return &SampleHistogramPair{Timestamp: Time(9)} }) + } + for _, input := range []string{`null`, `[]`, `[`, `[1.123]`, `[1.123,null]`, `[1.123,{} true`, `[1.123,{},"bogus","trailing","data"]`, `{}`} { + testDecodeErrorParity(t, input, func() *SampleHistogramPair { return &SampleHistogramPair{Timestamp: Time(9)} }) + } +} + +func TestHistogramBucketJSONV2(t *testing.T) { + for _, input := range []string{`[2,"2.123","3.123","4.123"]`} { + testDecodeSuccessParity(t, input, func() *HistogramBucket { + return &HistogramBucket{Boundaries: 1, Lower: FloatString(1.123), Upper: FloatString(1.123), Count: FloatString(1.123)} + }) + } + for _, input := range []string{`null`, `[]`, `[2]`, `[2,"2.123"]`, `[2,"2.123","3.123"]`, `[2,"2.123","3.123","4.123","random","trailing","data",true]`, `[`, `[1.123,null]`, `[2 true`, `{}`} { + testDecodeErrorParity(t, input, func() *HistogramBucket { + return &HistogramBucket{Boundaries: 1, Lower: FloatString(1.123), Upper: FloatString(1.123), Count: FloatString(1.123)} + }) + } +} diff --git a/model/value_float127_test.go b/model/value_float127_test.go new file mode 100644 index 00000000..3453e4d8 --- /dev/null +++ b/model/value_float127_test.go @@ -0,0 +1,83 @@ +//go:build go1.27 + +// Copyright The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package model + +import ( + "fmt" + "math" + "testing" +) + +func TestSampleValueJSONV2(t *testing.T) { + cases := []float64{ + math.Inf(1), + math.MaxFloat64, + math.MaxFloat32, + math.SmallestNonzeroFloat64, + math.SmallestNonzeroFloat32, + 1e21, + 1.0, + 1e-6, + 0, + -1e-6, + -1.0, + -1e21, + -math.MaxFloat64, + -math.MaxFloat32, + -math.SmallestNonzeroFloat64, + -math.SmallestNonzeroFloat32, + math.Inf(-1), + math.NaN(), + } + + for _, i := range cases { + t.Run(fmt.Sprintf("%v", i), func(t *testing.T) { + if i != -math.MaxFloat64 { + testV1V2Marshal(t, "-", SampleValue(math.Nextafter(i, math.Inf(-1)))) + } + testV1V2Marshal(t, "=", SampleValue(i)) + if i != math.MaxFloat64 { + testV1V2Marshal(t, "+", SampleValue(math.Nextafter(i, math.Inf(1)))) + } + }) + } + testRoundTrip(t, "-1", SampleValue(-1)) + testRoundTrip(t, "-1.1", SampleValue(-1.1)) + testRoundTrip(t, "0", SampleValue(0)) + testRoundTrip(t, "1", SampleValue(1)) + testRoundTrip(t, "1.1", SampleValue(1.1)) +} + +func TestSamplePairJSONV2(t *testing.T) { + cases := []SamplePair{ + {}, + {Timestamp: Time(1)}, + {Value: SampleValue(1)}, + {Timestamp: Time(1), Value: SampleValue(1)}, + } + + for _, v := range cases { + testV1V2Marshal(t, fmt.Sprintf("%#v", v), v) + testRoundTrip(t, fmt.Sprintf("%#v", v), v) + } + + for _, input := range []string{`null`, `[]`, `[1.123]`, `[1.123,"2"]`, `[1.123,"2","bogus","trailing","data"]`} { + testDecodeSuccessParity(t, input, func() *SamplePair { return &SamplePair{Timestamp: Time(9), Value: SampleValue(9)} }) + } + for _, input := range []string{`[`, `[1.123,"2" true`, `{}`} { + testDecodeErrorParity(t, input, func() *SamplePair { return &SamplePair{Timestamp: Time(9), Value: SampleValue(9)} }) + } +} From 26c84c84139fad8090bf680cd2a8c7e1557b9f72 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Sat, 19 Sep 2026 16:35:18 -0400 Subject: [PATCH 2/7] TMP: benchmark 1 Signed-off-by: Jordan Liggitt --- 1-go1.26 | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1-go1.27 | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 228 insertions(+) create mode 100644 1-go1.26 create mode 100644 1-go1.27 diff --git a/1-go1.26 b/1-go1.26 new file mode 100644 index 00000000..dafc401e --- /dev/null +++ b/1-go1.26 @@ -0,0 +1,114 @@ +goos: darwin +goarch: arm64 +pkg: github.com/prometheus/common/model +cpu: Apple M4 Pro +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 19749 59746 ns/op 31912 B/op 530 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 20172 59221 ns/op 31912 B/op 530 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 20452 58801 ns/op 31912 B/op 530 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 20366 59046 ns/op 31912 B/op 530 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 19682 60888 ns/op 31912 B/op 530 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 20320 58908 ns/op 31912 B/op 530 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 1576 766216 ns/op 226216 B/op 4541 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 1569 758976 ns/op 226217 B/op 4541 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 1576 762003 ns/op 226217 B/op 4541 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 1581 761813 ns/op 226217 B/op 4541 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 1610 749092 ns/op 226217 B/op 4541 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 1593 757349 ns/op 226217 B/op 4541 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2487 477704 ns/op 233352 B/op 3260 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2559 474301 ns/op 233353 B/op 3260 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2522 474060 ns/op 233353 B/op 3260 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2568 473804 ns/op 233353 B/op 3260 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2137 497328 ns/op 233355 B/op 3260 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2433 495136 ns/op 233353 B/op 3260 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 158 7558239 ns/op 2173909 B/op 43271 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 159 7466225 ns/op 2173902 B/op 43271 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 160 7446880 ns/op 2173908 B/op 43271 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 160 7444002 ns/op 2173906 B/op 43271 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 160 7451757 ns/op 2173904 B/op 43271 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 160 7437477 ns/op 2173909 B/op 43271 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 255 4675196 ns/op 2352718 B/op 30300 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 258 4687507 ns/op 2352720 B/op 30300 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 250 4745232 ns/op 2352719 B/op 30300 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 253 4708189 ns/op 2352718 B/op 30300 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 255 4685555 ns/op 2352720 B/op 30300 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 255 4759820 ns/op 2352721 B/op 30300 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 13 78732638 ns/op 21561970 B/op 430302 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 14 77174158 ns/op 21561142 B/op 430301 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 15 76752169 ns/op 21561134 B/op 430301 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 15 76818981 ns/op 21561155 B/op 430301 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 15 76459964 ns/op 21561156 B/op 430301 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 15 76494561 ns/op 21561125 B/op 430301 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2048 591352 ns/op 316793 B/op 5213 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2041 585970 ns/op 316793 B/op 5213 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2042 585825 ns/op 316793 B/op 5213 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2067 599861 ns/op 316793 B/op 5213 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2011 586266 ns/op 316793 B/op 5213 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2052 585336 ns/op 316793 B/op 5213 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 157 7609969 ns/op 2259265 B/op 45314 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 158 7567477 ns/op 2259268 B/op 45314 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 158 7522933 ns/op 2259265 B/op 45314 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 158 7542101 ns/op 2259266 B/op 45314 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 158 7556864 ns/op 2259266 B/op 45314 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 158 7542475 ns/op 2259266 B/op 45314 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 250 4730798 ns/op 2331198 B/op 32513 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 253 4702618 ns/op 2331198 B/op 32513 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 255 4703817 ns/op 2331199 B/op 32513 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 253 4717326 ns/op 2331197 B/op 32513 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 254 4709905 ns/op 2331199 B/op 32513 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 254 4720884 ns/op 2331198 B/op 32513 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 15 76232786 ns/op 21736113 B/op 432614 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 15 75978942 ns/op 21736112 B/op 432614 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 15 75836069 ns/op 21736096 B/op 432614 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 15 75831358 ns/op 21736120 B/op 432614 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 15 75595017 ns/op 21736106 B/op 432614 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 15 75289086 ns/op 21736108 B/op 432614 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 24 47381948 ns/op 23524799 B/op 302913 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 24 47636734 ns/op 23524798 B/op 302913 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 24 47657785 ns/op 23524802 B/op 302913 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 25 47631397 ns/op 23524800 B/op 302913 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 25 47335457 ns/op 23524796 B/op 302913 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 24 49292708 ns/op 23524798 B/op 302913 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 791805896 ns/op 215608104 B/op 4302914 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 806855562 ns/op 215608088 B/op 4302914 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 825912480 ns/op 215608144 B/op 4302914 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 1 1197585209 ns/op 215608224 B/op 4302915 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 852256750 ns/op 215608128 B/op 4302914 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 929518375 ns/op 215608184 B/op 4302914 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 175 6651326 ns/op 3161764 B/op 52016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 181 6515437 ns/op 3161766 B/op 52016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 187 6379439 ns/op 3161761 B/op 52016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 159 7166182 ns/op 3161763 B/op 52016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 184 6441652 ns/op 3161762 B/op 52016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 187 6351032 ns/op 3161761 B/op 52016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 14 81279884 ns/op 22585861 B/op 453017 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 14 81719973 ns/op 22585897 B/op 453017 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 14 82418122 ns/op 22585890 B/op 453017 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 14 82229027 ns/op 22585868 B/op 453017 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 14 82217155 ns/op 22585904 B/op 453017 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 14 80724744 ns/op 22585860 B/op 453017 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 22 51172394 ns/op 23305758 B/op 325016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 22 50912684 ns/op 23305757 B/op 325016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 22 50855328 ns/op 23305757 B/op 325016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 22 51150388 ns/op 23305757 B/op 325016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 22 52087830 ns/op 23305759 B/op 325016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 22 51490324 ns/op 23305759 B/op 325016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 803180354 ns/op 217353872 B/op 4326017 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 805756958 ns/op 217353920 B/op 4326017 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 807653812 ns/op 217353864 B/op 4326017 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 800239896 ns/op 217353888 B/op 4326017 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 802372166 ns/op 217353856 B/op 4326017 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 808134729 ns/op 217353848 B/op 4326017 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 486888042 ns/op 235241754 B/op 3029016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 486258528 ns/op 235241754 B/op 3029016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 479984722 ns/op 235241754 B/op 3029016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 475854042 ns/op 235241754 B/op 3029016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 477163722 ns/op 235241760 B/op 3029016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 476178917 ns/op 235241760 B/op 3029016 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 7871798875 ns/op 2156073872 B/op 43029017 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 7987310459 ns/op 2156073888 B/op 43029018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 7904908958 ns/op 2156073872 B/op 43029017 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 7849830042 ns/op 2156073888 B/op 43029018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 7808607792 ns/op 2156073856 B/op 43029017 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 7833902875 ns/op 2156073904 B/op 43029017 allocs/op +PASS +ok github.com/prometheus/common/model 186.364s diff --git a/1-go1.27 b/1-go1.27 new file mode 100644 index 00000000..65206b98 --- /dev/null +++ b/1-go1.27 @@ -0,0 +1,114 @@ +goos: darwin +goarch: arm64 +pkg: github.com/prometheus/common/model +cpu: Apple M4 Pro +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 20468 57741 ns/op 15174 B/op 426 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 21196 56550 ns/op 15173 B/op 426 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 21130 56630 ns/op 15171 B/op 426 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 21315 56561 ns/op 15171 B/op 426 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 21207 56572 ns/op 15170 B/op 426 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 21295 56470 ns/op 15173 B/op 426 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2229 539187 ns/op 125721 B/op 5226 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2236 536379 ns/op 125717 B/op 5226 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2228 536737 ns/op 125691 B/op 5226 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2208 538079 ns/op 125705 B/op 5226 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2238 539220 ns/op 125717 B/op 5226 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2246 542772 ns/op 125703 B/op 5226 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2331 501251 ns/op 94339 B/op 3156 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2401 498861 ns/op 94316 B/op 3156 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2421 497399 ns/op 94313 B/op 3156 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2422 499740 ns/op 94314 B/op 3156 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2392 500021 ns/op 94323 B/op 3156 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2401 501928 ns/op 94314 B/op 3156 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 222 5374285 ns/op 1203522 B/op 51159 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 222 5393023 ns/op 1203585 B/op 51159 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 220 5402177 ns/op 1203554 B/op 51159 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 222 5383149 ns/op 1203605 B/op 51159 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 223 5345241 ns/op 1203618 B/op 51159 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 224 5344914 ns/op 1203540 B/op 51159 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 236 5022688 ns/op 990342 B/op 30197 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 240 4986827 ns/op 990433 B/op 30197 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 240 4992754 ns/op 990385 B/op 30197 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 240 5007961 ns/op 990307 B/op 30197 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 240 5025831 ns/op 990362 B/op 30197 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 234 5079357 ns/op 990404 B/op 30197 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 21 54785093 ns/op 11886110 B/op 510208 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 21 54694010 ns/op 11885022 B/op 510205 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 21 53900756 ns/op 11885766 B/op 510207 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 21 53958540 ns/op 11884870 B/op 510204 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 21 53982946 ns/op 11885149 B/op 510206 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 21 54128692 ns/op 11884491 B/op 510204 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2079 575126 ns/op 151211 B/op 4209 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2084 570625 ns/op 151219 B/op 4209 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2102 572204 ns/op 151233 B/op 4209 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2112 571591 ns/op 151241 B/op 4209 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2115 571649 ns/op 151223 B/op 4209 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2114 572786 ns/op 151246 B/op 4209 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 216 5512205 ns/op 1256700 B/op 52213 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 219 5454671 ns/op 1256716 B/op 52213 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 218 5478004 ns/op 1256772 B/op 52213 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 219 5470154 ns/op 1256887 B/op 52213 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 218 5477756 ns/op 1256758 B/op 52213 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 217 5535168 ns/op 1256730 B/op 52213 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 229 5184814 ns/op 942203 B/op 31510 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 232 5133404 ns/op 942264 B/op 31510 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 232 5131154 ns/op 942313 B/op 31510 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 231 5137552 ns/op 942148 B/op 31510 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 234 5088896 ns/op 942121 B/op 31510 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 235 5094785 ns/op 942203 B/op 31510 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 21 55068563 ns/op 12027690 B/op 511527 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 21 54753022 ns/op 12028334 B/op 511529 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 21 54980944 ns/op 12028237 B/op 511530 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 21 54772940 ns/op 12027162 B/op 511526 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 21 54304371 ns/op 12027327 B/op 511527 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 21 54277754 ns/op 12028676 B/op 511530 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 22 51229403 ns/op 9896226 B/op 301911 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 22 51135220 ns/op 9895848 B/op 301910 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 22 51345542 ns/op 9896096 B/op 301911 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 22 50749125 ns/op 9896088 B/op 301911 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 22 50433129 ns/op 9895840 B/op 301910 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 24 50345790 ns/op 9895899 B/op 301910 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 554049167 ns/op 118786848 B/op 5101841 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 553883646 ns/op 118784464 B/op 5101839 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 553000020 ns/op 118786760 B/op 5101840 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 549015083 ns/op 118784576 B/op 5101840 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 548343083 ns/op 118787048 B/op 5101843 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 548542542 ns/op 118784400 B/op 5101838 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 206 5779091 ns/op 1506970 B/op 42034 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 207 5745769 ns/op 1507215 B/op 42035 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 207 5741449 ns/op 1507082 B/op 42035 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 210 5706491 ns/op 1506897 B/op 42034 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 207 5739874 ns/op 1507117 B/op 42035 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 207 5749526 ns/op 1506992 B/op 42035 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 21 56234177 ns/op 12554506 B/op 522052 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 20 55402204 ns/op 12553648 B/op 522050 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 20 55816773 ns/op 12555233 B/op 522053 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 20 55980827 ns/op 12556072 B/op 522055 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 20 55936704 ns/op 12554410 B/op 522052 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 21 55836079 ns/op 12554433 B/op 522052 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 22 51949059 ns/op 9411651 B/op 315036 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 22 51353127 ns/op 9410528 B/op 315033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 22 51271199 ns/op 9410768 B/op 315034 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 22 51273155 ns/op 9411273 B/op 315035 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 22 51600485 ns/op 9410544 B/op 315033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 22 52011852 ns/op 9410280 B/op 315033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 555900166 ns/op 120211552 B/op 5115071 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 553709062 ns/op 120200840 B/op 5115050 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 553955750 ns/op 120205712 B/op 5115054 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 559151562 ns/op 120203368 B/op 5115053 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 560503188 ns/op 120203280 B/op 5115052 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 559319042 ns/op 120201096 B/op 5115053 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 2 513537229 ns/op 98957420 B/op 3019055 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 2 511447312 ns/op 98949508 B/op 3019040 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 2 511621375 ns/op 98949596 B/op 3019041 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 2 515807542 ns/op 98949596 B/op 3019041 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 2 509559979 ns/op 98946780 B/op 3019034 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 2 508689834 ns/op 98949420 B/op 3019039 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 5595424709 ns/op 1187731672 B/op 51018074 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 5590185875 ns/op 1187721656 B/op 51018060 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 5553425791 ns/op 1187726168 B/op 51018060 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 5577832375 ns/op 1187741800 B/op 51018087 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 5619159542 ns/op 1187721656 B/op 51018060 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 5547917208 ns/op 1187721304 B/op 51018056 allocs/op +PASS +ok github.com/prometheus/common/model 161.329s From 412a6143a44366b931eb4c8f05a69e96a5dca523 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Thu, 17 Sep 2026 17:39:41 -0400 Subject: [PATCH 3/7] Drop unnecessary custom UnmarshalJSON 5-20% CPU improvement 0-12% alloc/memory improvement Signed-off-by: Jordan Liggitt --- model/value.go | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/model/value.go b/model/value.go index 8dffd9c4..eed5c9ef 100644 --- a/model/value.go +++ b/model/value.go @@ -224,28 +224,6 @@ func (ss SampleStream) MarshalJSON() ([]byte, error) { } } -func (ss *SampleStream) UnmarshalJSON(b []byte) error { - v := struct { - Metric Metric `json:"metric"` - Values []SamplePair `json:"values"` - Histograms []SampleHistogramPair `json:"histograms"` - }{ - Metric: ss.Metric, - Values: ss.Values, - Histograms: ss.Histograms, - } - - if err := json.Unmarshal(b, &v); err != nil { - return err - } - - ss.Metric = v.Metric - ss.Values = v.Values - ss.Histograms = v.Histograms - - return nil -} - // Scalar is a scalar value evaluated at the set timestamp. type Scalar struct { Value SampleValue `json:"value"` From 3159b855188c3f8ff14560ae9a0641f299f7328a Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Sat, 19 Sep 2026 16:42:07 -0400 Subject: [PATCH 4/7] TMP: benchmark 2 Signed-off-by: Jordan Liggitt --- 2-go1.26 | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2-go1.27 | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 228 insertions(+) create mode 100644 2-go1.26 create mode 100644 2-go1.27 diff --git a/2-go1.26 b/2-go1.26 new file mode 100644 index 00000000..0bd84090 --- /dev/null +++ b/2-go1.26 @@ -0,0 +1,114 @@ +goos: darwin +goarch: arm64 +pkg: github.com/prometheus/common/model +cpu: Apple M4 Pro +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 24794 47254 ns/op 28696 B/op 462 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 25966 46221 ns/op 28696 B/op 462 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 25932 46121 ns/op 28696 B/op 462 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 25189 48194 ns/op 28696 B/op 462 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 26024 46129 ns/op 28696 B/op 462 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 26002 46258 ns/op 28696 B/op 462 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 1996 603718 ns/op 222360 B/op 4463 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2019 598930 ns/op 222360 B/op 4463 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 1984 600410 ns/op 222361 B/op 4463 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2002 600027 ns/op 222361 B/op 4463 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 1995 600608 ns/op 222361 B/op 4463 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2013 601411 ns/op 222361 B/op 4463 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 3057 390647 ns/op 230137 B/op 3192 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 3064 391578 ns/op 230137 B/op 3192 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 3031 393120 ns/op 230137 B/op 3192 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 3066 391301 ns/op 230137 B/op 3192 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 3069 390771 ns/op 230137 B/op 3192 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 3082 388284 ns/op 230137 B/op 3192 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 198 6035302 ns/op 2170051 B/op 43193 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 198 6041234 ns/op 2170049 B/op 43193 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 199 6036509 ns/op 2170054 B/op 43193 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 198 6018292 ns/op 2170054 B/op 43193 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 200 5969319 ns/op 2170048 B/op 43193 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 199 6001357 ns/op 2170053 B/op 43193 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 306 3960636 ns/op 2349509 B/op 30232 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 295 3942173 ns/op 2349505 B/op 30232 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 308 3866274 ns/op 2349503 B/op 30232 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 312 3850273 ns/op 2349505 B/op 30232 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 309 3859150 ns/op 2349509 B/op 30232 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 312 3854627 ns/op 2349509 B/op 30232 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 18 62346951 ns/op 21557580 B/op 430223 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 18 61722979 ns/op 21557602 B/op 430223 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 19 61668257 ns/op 21557285 B/op 430223 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 19 61593910 ns/op 21557283 B/op 430223 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 19 61720379 ns/op 21557291 B/op 430223 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 19 61721274 ns/op 21557301 B/op 430223 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2574 460064 ns/op 284057 B/op 4515 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2608 459762 ns/op 284057 B/op 4515 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2624 460333 ns/op 284057 B/op 4515 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2586 466053 ns/op 284058 B/op 4515 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2587 464452 ns/op 284057 B/op 4515 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2562 459171 ns/op 284058 B/op 4515 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 196 6085463 ns/op 2220138 B/op 44516 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 196 6091697 ns/op 2220135 B/op 44516 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 196 6093149 ns/op 2220135 B/op 44516 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 195 6098239 ns/op 2220135 B/op 44516 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 198 6055492 ns/op 2220132 B/op 44516 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 196 6093022 ns/op 2220134 B/op 44516 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 303 3928522 ns/op 2298469 B/op 31815 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 307 3907300 ns/op 2298464 B/op 31815 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 306 3923826 ns/op 2298466 B/op 31815 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 306 3898397 ns/op 2298464 B/op 31815 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 306 3915188 ns/op 2298465 B/op 31815 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 307 3914231 ns/op 2298467 B/op 31815 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 19 61743129 ns/op 21696971 B/op 431816 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 19 61464406 ns/op 21696959 B/op 431816 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 19 61746252 ns/op 21696981 B/op 431816 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 18 63212461 ns/op 21696976 B/op 431816 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 19 63080939 ns/op 21696969 B/op 431816 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 18 63279942 ns/op 21696965 B/op 431816 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 28 40214985 ns/op 23492062 B/op 302215 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 28 39842946 ns/op 23492060 B/op 302215 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 30 39883731 ns/op 23492063 B/op 302215 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 28 40109856 ns/op 23492065 B/op 302215 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 30 39872618 ns/op 23492065 B/op 302215 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 28 39836948 ns/op 23492073 B/op 302215 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 640875354 ns/op 215568984 B/op 4302116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 640789958 ns/op 215568952 B/op 4302116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 641386104 ns/op 215568976 B/op 4302116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 647078770 ns/op 215568968 B/op 4302116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 639226834 ns/op 215568968 B/op 4302116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 642101666 ns/op 215569016 B/op 4302116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 250 4757618 ns/op 2833826 B/op 45018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 250 4758215 ns/op 2833825 B/op 45018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 254 4702012 ns/op 2833822 B/op 45018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 253 4710401 ns/op 2833823 B/op 45018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 252 4771159 ns/op 2833825 B/op 45018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 249 4812435 ns/op 2833824 B/op 45018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 18 63769118 ns/op 22193931 B/op 445019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 18 63428639 ns/op 22193926 B/op 445019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 18 64104958 ns/op 22193927 B/op 445019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 19 63694640 ns/op 22193923 B/op 445019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 19 63443800 ns/op 22193929 B/op 445019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 18 63505692 ns/op 22193926 B/op 445019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 28 40604548 ns/op 22977824 B/op 318018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 30 40398168 ns/op 22977821 B/op 318018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 28 40769454 ns/op 22977824 B/op 318018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 28 40499106 ns/op 22977822 B/op 318018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 28 40411656 ns/op 22977826 B/op 318018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 28 40436179 ns/op 22977821 B/op 318018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 638370396 ns/op 216961928 B/op 4318019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 636025958 ns/op 216961936 B/op 4318019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 635861917 ns/op 216961936 B/op 4318019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 635878042 ns/op 216962056 B/op 4318020 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 635482271 ns/op 216961920 B/op 4318019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 636435500 ns/op 216961936 B/op 4318019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 418010903 ns/op 234913818 B/op 3022018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 402552028 ns/op 234913818 B/op 3022018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 401929764 ns/op 234913818 B/op 3022018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 398950875 ns/op 234913818 B/op 3022018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 400417083 ns/op 234913818 B/op 3022018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 405164014 ns/op 234913818 B/op 3022018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 6481672667 ns/op 2155681952 B/op 43021019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 6454564166 ns/op 2155681936 B/op 43021019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 6473795792 ns/op 2155681968 B/op 43021020 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 6476867458 ns/op 2155681936 B/op 43021019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 6414349042 ns/op 2155681968 B/op 43021019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 6384591834 ns/op 2155681936 B/op 43021019 allocs/op +PASS +ok github.com/prometheus/common/model 173.296s diff --git a/2-go1.27 b/2-go1.27 new file mode 100644 index 00000000..8a448824 --- /dev/null +++ b/2-go1.27 @@ -0,0 +1,114 @@ +goos: darwin +goarch: arm64 +pkg: github.com/prometheus/common/model +cpu: Apple M4 Pro +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 22783 51766 ns/op 14532 B/op 416 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 23493 51027 ns/op 14533 B/op 416 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 23551 50895 ns/op 14531 B/op 416 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 23560 51330 ns/op 14532 B/op 416 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 23061 51449 ns/op 14534 B/op 416 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 23860 50478 ns/op 14530 B/op 416 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2352 514855 ns/op 125069 B/op 5216 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2342 514829 ns/op 125058 B/op 5216 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2348 513937 ns/op 125062 B/op 5216 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2349 512765 ns/op 125066 B/op 5216 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2367 513051 ns/op 125054 B/op 5216 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2311 514730 ns/op 125054 B/op 5216 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2557 467768 ns/op 93689 B/op 3146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2564 464485 ns/op 93679 B/op 3146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2559 465619 ns/op 93683 B/op 3146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2568 466188 ns/op 93676 B/op 3146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2550 466462 ns/op 93674 B/op 3146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 2584 463923 ns/op 93671 B/op 3146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 232 5130044 ns/op 1202860 B/op 51149 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 232 5128517 ns/op 1202793 B/op 51149 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 234 5102152 ns/op 1202922 B/op 51149 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 235 5127409 ns/op 1202831 B/op 51149 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 232 5143405 ns/op 1202886 B/op 51149 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 232 5144821 ns/op 1202900 B/op 51149 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 256 4603165 ns/op 989811 B/op 30187 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 260 4557942 ns/op 989755 B/op 30187 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 261 4567617 ns/op 989707 B/op 30187 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 262 4572416 ns/op 989667 B/op 30187 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 262 4562782 ns/op 989688 B/op 30187 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 259 4607220 ns/op 989736 B/op 30187 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 22 51697924 ns/op 11884728 B/op 510196 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 22 51265733 ns/op 11883901 B/op 510194 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 22 51273583 ns/op 11883373 B/op 510192 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 22 51452780 ns/op 11885034 B/op 510196 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 22 51314858 ns/op 11884595 B/op 510195 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 22 51223087 ns/op 11883906 B/op 510194 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2319 512727 ns/op 144828 B/op 4109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2304 514845 ns/op 144806 B/op 4109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2344 512984 ns/op 144809 B/op 4109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2358 513151 ns/op 144798 B/op 4109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2310 511519 ns/op 144798 B/op 4109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2355 508287 ns/op 144821 B/op 4109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 231 5173375 ns/op 1250075 B/op 52112 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 231 5175895 ns/op 1250387 B/op 52113 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 231 5175665 ns/op 1250143 B/op 52112 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 231 5165939 ns/op 1250183 B/op 52112 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 231 5157521 ns/op 1250166 B/op 52112 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 232 5127865 ns/op 1250184 B/op 52112 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 255 4670166 ns/op 935944 B/op 31410 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 258 4640475 ns/op 935726 B/op 31410 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 258 4633255 ns/op 935834 B/op 31410 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 258 4626982 ns/op 935868 B/op 31410 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 260 4596455 ns/op 935822 B/op 31410 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 260 4606592 ns/op 935749 B/op 31410 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 22 51487830 ns/op 12021185 B/op 511429 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 22 51527807 ns/op 12020720 B/op 511427 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 22 51230460 ns/op 12021035 B/op 511427 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 22 51005655 ns/op 12020480 B/op 511425 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 22 50902170 ns/op 12021284 B/op 511428 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 22 50904786 ns/op 12021644 B/op 511429 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 25 46520350 ns/op 9889997 B/op 301811 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 25 46125788 ns/op 9889646 B/op 301811 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 25 45581425 ns/op 9889441 B/op 301810 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 26 45643034 ns/op 9889413 B/op 301810 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 25 45663572 ns/op 9889639 B/op 301810 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 25 45801143 ns/op 9890095 B/op 301811 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 519624062 ns/op 118775560 B/op 5101736 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 516219958 ns/op 118775184 B/op 5101731 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 513734375 ns/op 118777824 B/op 5101736 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 512999958 ns/op 118775432 B/op 5101734 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 513848542 ns/op 118775728 B/op 5101738 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 514101584 ns/op 118775976 B/op 5101741 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 234 5127551 ns/op 1442994 B/op 41034 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 230 5159101 ns/op 1443086 B/op 41034 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 234 5117340 ns/op 1442933 B/op 41034 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 235 5076489 ns/op 1442909 B/op 41034 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 234 5103309 ns/op 1442995 B/op 41034 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 236 5074444 ns/op 1443023 B/op 41034 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 22 51557345 ns/op 12489732 B/op 521052 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 22 51388201 ns/op 12489036 B/op 521049 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 22 51569411 ns/op 12489280 B/op 521050 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 22 51500767 ns/op 12489977 B/op 521051 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 22 51367835 ns/op 12488523 B/op 521049 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 22 51953303 ns/op 12489982 B/op 521054 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 25 46703005 ns/op 9347065 B/op 314034 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 25 46151700 ns/op 9346507 B/op 314033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 25 46339902 ns/op 9346922 B/op 314034 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 26 46265261 ns/op 9346671 B/op 314033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 25 46554992 ns/op 9347133 B/op 314034 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 25 46238312 ns/op 9346525 B/op 314033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 515290396 ns/op 120137288 B/op 5114055 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 514319292 ns/op 120141880 B/op 5114056 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 513404520 ns/op 120139280 B/op 5114052 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 515497875 ns/op 120142560 B/op 5114065 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 515008271 ns/op 120136976 B/op 5114051 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 516341334 ns/op 120142416 B/op 5114063 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 462291375 ns/op 98885928 B/op 3018040 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 463808680 ns/op 98884168 B/op 3018036 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 462399139 ns/op 98884168 B/op 3018036 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 456298278 ns/op 98884168 B/op 3018036 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 456945195 ns/op 98884168 B/op 3018036 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 455943111 ns/op 98884168 B/op 3018036 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 5208522875 ns/op 1187657624 B/op 51017059 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 5163312459 ns/op 1187662376 B/op 51017063 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 5160573666 ns/op 1187662376 B/op 51017063 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 5155313916 ns/op 1187662376 B/op 51017063 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 5132939875 ns/op 1187661816 B/op 51017056 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 5255182833 ns/op 1187662728 B/op 51017067 allocs/op +PASS +ok github.com/prometheus/common/model 160.291s From 29c8fe7fd7c16cad3c94ce2b36a217256834ed20 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Thu, 17 Sep 2026 17:44:17 -0400 Subject: [PATCH 5/7] SamplePair#UnmarshalJSONFrom Signed-off-by: Jordan Liggitt --- model/value_float127.go | 63 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 model/value_float127.go diff --git a/model/value_float127.go b/model/value_float127.go new file mode 100644 index 00000000..b7443948 --- /dev/null +++ b/model/value_float127.go @@ -0,0 +1,63 @@ +//go:build go1.27 + +// Copyright The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package model + +import ( + "encoding/json/jsontext" + "fmt" +) + +func (s *SamplePair) UnmarshalJSONFrom(dec *jsontext.Decoder) error { + if t, err := dec.ReadToken(); err != nil { + return err + } else if t.Kind() == jsontext.KindNull { + return nil + } else if t.Kind() != jsontext.KindBeginArray { + return fmt.Errorf("expected [") + } + + // Loop until we see the end of the array (tolerate arrays of any length). + for i := 0; dec.PeekKind() != jsontext.KindEndArray; i++ { + switch i { + case 0: + if v, err := dec.ReadValue(); err != nil { + return err + } else if err := s.Timestamp.UnmarshalJSON(v); err != nil { + return err + } + case 1: + if v, err := dec.ReadValue(); err != nil { + return err + } else if err := s.Value.UnmarshalJSON(v); err != nil { + return err + } + default: + // Skip any remaining array items to match UnmarshalJSON behavior. + if err := dec.SkipValue(); err != nil { + return err + } + } + } + + // Read the final end array token. + if t, err := dec.ReadToken(); err != nil { + return err + } else if t.Kind() != jsontext.KindEndArray { + return fmt.Errorf("expected ]") + } + + return nil +} From 3a8a47bba29b076e1cb443e4d2046f8b44d045af Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Thu, 17 Sep 2026 17:48:37 -0400 Subject: [PATCH 6/7] histogram UnmarshalJSONFrom implementations Signed-off-by: Jordan Liggitt --- model/value_histogram127.go | 78 +++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 model/value_histogram127.go diff --git a/model/value_histogram127.go b/model/value_histogram127.go new file mode 100644 index 00000000..f4d67794 --- /dev/null +++ b/model/value_histogram127.go @@ -0,0 +1,78 @@ +//go:build go1.27 + +// Copyright The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package model + +import ( + "encoding/json/jsontext" + "encoding/json/v2" + "errors" + "fmt" +) + +func (s *SampleHistogramPair) UnmarshalJSONFrom(dec *jsontext.Decoder) error { + if t, err := dec.ReadToken(); err != nil { + return err + } else if t.Kind() != jsontext.KindBeginArray { + return fmt.Errorf("expected [") + } + + if v, err := dec.ReadValue(); err != nil { + return err + } else if err := s.Timestamp.UnmarshalJSON(v); err != nil { + return err + } + + if err := json.UnmarshalDecode(dec, &s.Histogram); err != nil { + return err + } else if s.Histogram == nil { + return errors.New("histogram is nil") + } + + if t, err := dec.ReadToken(); err != nil { + return err + } else if t.Kind() != jsontext.KindEndArray { + return fmt.Errorf("expected ]") + } + return nil +} + +func (s *HistogramBucket) UnmarshalJSONFrom(dec *jsontext.Decoder) error { + if t, err := dec.ReadToken(); err != nil { + return err + } else if t.Kind() != jsontext.KindBeginArray { + return fmt.Errorf("expected [") + } + + if err := json.UnmarshalDecode(dec, &s.Boundaries); err != nil { + return nil + } + if err := json.UnmarshalDecode(dec, &s.Lower); err != nil { + return nil + } + if err := json.UnmarshalDecode(dec, &s.Upper); err != nil { + return nil + } + if err := json.UnmarshalDecode(dec, &s.Count); err != nil { + return nil + } + + if t, err := dec.ReadToken(); err != nil { + return err + } else if t.Kind() != jsontext.KindEndArray { + return fmt.Errorf("expected ]") + } + return nil +} From cef8d6747aa0764c2c609d4f4e45fe9d26b8c3db Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Sun, 20 Sep 2026 15:00:37 -0400 Subject: [PATCH 7/7] TMP: benchmark 3 Signed-off-by: Jordan Liggitt --- 3-go1.26 | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3-go1.27 | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 228 insertions(+) create mode 100644 3-go1.26 create mode 100644 3-go1.27 diff --git a/3-go1.26 b/3-go1.26 new file mode 100644 index 00000000..ccbc74c5 --- /dev/null +++ b/3-go1.26 @@ -0,0 +1,114 @@ +goos: darwin +goarch: arm64 +pkg: github.com/prometheus/common/model +cpu: Apple M4 Pro +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 25378 46003 ns/op 28696 B/op 462 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 26908 44972 ns/op 28696 B/op 462 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 26848 44497 ns/op 28696 B/op 462 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 27100 44412 ns/op 28696 B/op 462 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 26875 44625 ns/op 28696 B/op 462 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 26888 44574 ns/op 28696 B/op 462 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2044 584311 ns/op 222360 B/op 4463 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2067 585101 ns/op 222361 B/op 4463 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2054 587082 ns/op 222361 B/op 4463 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2023 586362 ns/op 222360 B/op 4463 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2048 587367 ns/op 222360 B/op 4463 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 2058 587065 ns/op 222360 B/op 4463 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 3040 381994 ns/op 230137 B/op 3192 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 3165 384362 ns/op 230137 B/op 3192 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 3134 382200 ns/op 230137 B/op 3192 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 3141 381885 ns/op 230137 B/op 3192 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 3174 384332 ns/op 230137 B/op 3192 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 3182 381631 ns/op 230137 B/op 3192 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 202 5888103 ns/op 2170049 B/op 43193 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 202 5892277 ns/op 2170049 B/op 43193 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 204 5890891 ns/op 2170048 B/op 43193 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 204 5871270 ns/op 2170052 B/op 43193 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 206 5828354 ns/op 2170049 B/op 43193 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 205 5831052 ns/op 2170051 B/op 43193 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 313 3811827 ns/op 2349502 B/op 30232 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 312 3857861 ns/op 2349503 B/op 30232 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 312 3799972 ns/op 2349503 B/op 30232 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 316 3792362 ns/op 2349503 B/op 30232 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 319 3758786 ns/op 2349502 B/op 30232 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 315 3797906 ns/op 2349502 B/op 30232 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 19 60496114 ns/op 21557577 B/op 430223 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 19 59891221 ns/op 21557291 B/op 430223 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 19 60208548 ns/op 21557288 B/op 430223 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 19 59853936 ns/op 21557280 B/op 430223 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 19 60036099 ns/op 21557286 B/op 430223 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 19 59922050 ns/op 21557281 B/op 430223 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2652 448599 ns/op 284057 B/op 4515 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2715 447073 ns/op 284057 B/op 4515 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2659 452432 ns/op 284057 B/op 4515 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2670 453094 ns/op 284057 B/op 4515 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2622 452829 ns/op 284057 B/op 4515 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 2658 450886 ns/op 284057 B/op 4515 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 200 5954827 ns/op 2220131 B/op 44516 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 200 5958383 ns/op 2220130 B/op 44516 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 201 5952439 ns/op 2220129 B/op 44516 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 201 5942165 ns/op 2220131 B/op 44516 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 202 5928581 ns/op 2220132 B/op 44516 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 201 5926705 ns/op 2220130 B/op 44516 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 307 3856071 ns/op 2298462 B/op 31815 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 310 3879253 ns/op 2298462 B/op 31815 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 304 3934217 ns/op 2298463 B/op 31815 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 315 3830175 ns/op 2298463 B/op 31815 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 315 3811847 ns/op 2298462 B/op 31815 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 309 3853773 ns/op 2298462 B/op 31815 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 19 60065454 ns/op 21696957 B/op 431816 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 19 60056408 ns/op 21696965 B/op 431816 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 19 59756566 ns/op 21696960 B/op 431816 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 19 59774987 ns/op 21696960 B/op 431816 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 19 59764855 ns/op 21696979 B/op 431816 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 19 59835776 ns/op 21696954 B/op 431816 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 30 38522728 ns/op 23492061 B/op 302215 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 31 38640870 ns/op 23492062 B/op 302215 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 31 38716962 ns/op 23492061 B/op 302215 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 28 39740503 ns/op 23492061 B/op 302215 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 28 39424878 ns/op 23492061 B/op 302215 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 30 38543893 ns/op 23492062 B/op 302215 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 618772271 ns/op 215568960 B/op 4302116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 617993438 ns/op 215568976 B/op 4302116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 617857916 ns/op 215568984 B/op 4302116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 618267916 ns/op 215569016 B/op 4302116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 615179083 ns/op 215569032 B/op 4302116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 2 615795166 ns/op 215568984 B/op 4302116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 260 4540888 ns/op 2833823 B/op 45018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 265 4525361 ns/op 2833823 B/op 45018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 264 4522588 ns/op 2833824 B/op 45018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 258 4604730 ns/op 2833823 B/op 45018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 260 4590441 ns/op 2833822 B/op 45018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 260 4594603 ns/op 2833824 B/op 45018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 19 60865886 ns/op 22193942 B/op 445019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 19 60069441 ns/op 22193926 B/op 445019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 19 60103318 ns/op 22193929 B/op 445019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 19 60107581 ns/op 22193915 B/op 445019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 19 59920917 ns/op 22193928 B/op 445019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 19 60121000 ns/op 22193928 B/op 445019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 28 39540519 ns/op 22977827 B/op 318018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 30 39058468 ns/op 22977825 B/op 318018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 30 39319504 ns/op 22977826 B/op 318018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 30 39370676 ns/op 22977824 B/op 318018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 30 39712936 ns/op 22977822 B/op 318018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 31 38833497 ns/op 22977826 B/op 318018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 612823812 ns/op 216961920 B/op 4318019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 612428688 ns/op 216961920 B/op 4318019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 626413729 ns/op 216961936 B/op 4318019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 624465396 ns/op 216961920 B/op 4318019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 617852750 ns/op 216961968 B/op 4318019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 2 621383604 ns/op 216961984 B/op 4318019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 397458986 ns/op 234913818 B/op 3022018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 398461903 ns/op 234913824 B/op 3022018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 395296861 ns/op 234913818 B/op 3022018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 389254222 ns/op 234913818 B/op 3022018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 389341153 ns/op 234913893 B/op 3022018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 3 393513667 ns/op 234913824 B/op 3022018 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 6228466333 ns/op 2155681920 B/op 43021019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 6210311958 ns/op 2155681936 B/op 43021019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 6213423541 ns/op 2155681952 B/op 43021019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 6186587000 ns/op 2155681968 B/op 43021020 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 6223322125 ns/op 2155681920 B/op 43021019 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 6233975916 ns/op 2155681920 B/op 43021019 allocs/op +PASS +ok github.com/prometheus/common/model 170.497s diff --git a/3-go1.27 b/3-go1.27 new file mode 100644 index 00000000..ccb5f7bf --- /dev/null +++ b/3-go1.27 @@ -0,0 +1,114 @@ +goos: darwin +goarch: arm64 +pkg: github.com/prometheus/common/model +cpu: Apple M4 Pro +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 67448 15696 ns/op 9719 B/op 116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 79929 15279 ns/op 9718 B/op 116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 80277 15159 ns/op 9718 B/op 116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 80142 15051 ns/op 9718 B/op 116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 80083 15152 ns/op 9718 B/op 116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=floats-14 77256 15185 ns/op 9718 B/op 116 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 4674 252644 ns/op 45742 B/op 1216 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 4801 250095 ns/op 45742 B/op 1216 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 4848 253207 ns/op 45742 B/op 1216 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 4746 254199 ns/op 45742 B/op 1216 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 4728 255320 ns/op 45742 B/op 1216 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=10/type=histograms-14 4863 251081 ns/op 45742 B/op 1216 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 10000 106046 ns/op 45585 B/op 146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 10000 105110 ns/op 45585 B/op 146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 10000 106607 ns/op 45585 B/op 146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 10000 109967 ns/op 45586 B/op 146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 10000 106090 ns/op 45584 B/op 146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=floats-14 10000 105323 ns/op 45585 B/op 146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 481 2494118 ns/op 409699 B/op 11146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 476 2512687 ns/op 409697 B/op 11146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 477 2499506 ns/op 409702 B/op 11146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 480 2486024 ns/op 409699 B/op 11146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 481 2485602 ns/op 409699 B/op 11146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=100/type=histograms-14 482 2488544 ns/op 409699 B/op 11146 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 1131 1032922 ns/op 509146 B/op 186 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 1168 1028417 ns/op 509147 B/op 186 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 1152 1030145 ns/op 509147 B/op 186 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 1170 1036355 ns/op 509147 B/op 186 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 1161 1027530 ns/op 509147 B/op 186 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=floats-14 1171 1028620 ns/op 509148 B/op 186 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 45 25143403 ns/op 3958266 B/op 110177 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 48 25036625 ns/op 3958202 B/op 110177 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 48 25068549 ns/op 3958360 B/op 110177 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 46 25487397 ns/op 3958227 B/op 110177 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 46 25465390 ns/op 3958188 B/op 110177 allocs/op +BenchmarkSamplesJSONUnmarshal/series=10/dp=1000/type=histograms-14 48 25318381 ns/op 3958245 B/op 110177 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 7951 149091 ns/op 96663 B/op 1109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 8119 148488 ns/op 96664 B/op 1109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 7926 149125 ns/op 96665 B/op 1109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 8193 149862 ns/op 96665 B/op 1109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 7795 147856 ns/op 96665 B/op 1109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=floats-14 8132 147598 ns/op 96664 B/op 1109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 470 2542615 ns/op 456953 B/op 12109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 471 2544415 ns/op 456949 B/op 12109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 469 2549523 ns/op 456952 B/op 12109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 471 2545102 ns/op 456949 B/op 12109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 470 2555242 ns/op 456951 B/op 12109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=10/type=histograms-14 465 2670281 ns/op 456949 B/op 12109 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 1029 1124434 ns/op 455209 B/op 1409 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 1096 1129573 ns/op 455213 B/op 1409 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 1060 1106579 ns/op 455213 B/op 1409 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 1041 1128629 ns/op 455207 B/op 1409 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 1086 1116751 ns/op 455213 B/op 1409 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=floats-14 1075 1142421 ns/op 455211 B/op 1409 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 46 25449571 ns/op 4095164 B/op 111410 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 45 26342169 ns/op 4095064 B/op 111410 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 45 26179147 ns/op 4095109 B/op 111410 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 43 26837701 ns/op 4095046 B/op 111410 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 45 25817443 ns/op 4095069 B/op 111410 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=100/type=histograms-14 46 25581112 ns/op 4095166 B/op 111410 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 100 11249458 ns/op 5088912 B/op 1809 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 100 11086024 ns/op 5088879 B/op 1809 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 100 10906695 ns/op 5088932 B/op 1809 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 100 10795331 ns/op 5088932 B/op 1809 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 100 10979030 ns/op 5088933 B/op 1809 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=floats-14 100 11216356 ns/op 5088936 B/op 1809 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 4 266971760 ns/op 39568784 B/op 1101713 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 4 266306250 ns/op 39568784 B/op 1101713 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 4 268524521 ns/op 39568784 B/op 1101713 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 4 267125656 ns/op 39568784 B/op 1101713 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 4 272180781 ns/op 39568784 B/op 1101713 allocs/op +BenchmarkSamplesJSONUnmarshal/series=100/dp=1000/type=histograms-14 4 275913021 ns/op 39568784 B/op 1101713 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 766 1556069 ns/op 962101 B/op 11032 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 739 1634551 ns/op 962107 B/op 11032 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 712 1670419 ns/op 962108 B/op 11032 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 711 1648885 ns/op 962103 B/op 11032 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 727 1573901 ns/op 962106 B/op 11032 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=floats-14 780 1548367 ns/op 962101 B/op 11032 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 42 27430205 ns/op 4563410 B/op 121033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 43 27761555 ns/op 4563413 B/op 121033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 43 27014849 ns/op 4563366 B/op 121033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 43 26114248 ns/op 4563464 B/op 121033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 44 26303324 ns/op 4563285 B/op 121033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=10/type=histograms-14 45 26272489 ns/op 4563341 B/op 121033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 100 11456820 ns/op 4545964 B/op 14032 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 100 11255086 ns/op 4545984 B/op 14032 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 100 11088071 ns/op 4545984 B/op 14032 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 100 11228020 ns/op 4545984 B/op 14032 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 100 11496375 ns/op 4545986 B/op 14032 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=floats-14 100 11630107 ns/op 4545931 B/op 14032 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 4 274780792 ns/op 40933056 B/op 1114036 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 4 265035834 ns/op 40931748 B/op 1114034 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 4 265484886 ns/op 40933056 B/op 1114036 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 4 266777958 ns/op 40933056 B/op 1114036 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 4 266704677 ns/op 40933056 B/op 1114036 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=100/type=histograms-14 4 264942927 ns/op 40933056 B/op 1114036 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 9 112551542 ns/op 50882479 B/op 18033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 10 109428246 ns/op 50882603 B/op 18033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 10 112300108 ns/op 50882603 B/op 18033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 10 113547358 ns/op 50882603 B/op 18033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 9 112925088 ns/op 50882707 B/op 18033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=floats-14 10 111289892 ns/op 50882603 B/op 18033 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 2653781166 ns/op 395659120 B/op 11017047 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 2642949833 ns/op 395659120 B/op 11017047 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 2614871417 ns/op 395653776 B/op 11017036 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 2642678750 ns/op 395659120 B/op 11017047 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 2622850042 ns/op 395659120 B/op 11017047 allocs/op +BenchmarkSamplesJSONUnmarshal/series=1000/dp=1000/type=histograms-14 1 2634316042 ns/op 395659120 B/op 11017047 allocs/op +PASS +ok github.com/prometheus/common/model 142.846s