slog/benchmarks: benchmark for disabled logging
Add a benchmark measuring logging when Handler.Enabled returns false.
Also, update the stored benchmark results.
Change-Id: If4c710c1f620880c02408f94ae59cd50fcf40c71
Reviewed-on: https://go-review.googlesource.com/c/exp/+/439057
Run-TryBot: Jonathan Amsterdam <jba@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
diff --git a/slog/benchmarks/benchmarks_test.go b/slog/benchmarks/benchmarks_test.go
index 27b7d9f..39f3192 100644
--- a/slog/benchmarks/benchmarks_test.go
+++ b/slog/benchmarks/benchmarks_test.go
@@ -20,6 +20,7 @@
name string
h slog.Handler
}{
+ {"disabled", disabledHandler{}},
{"async discard", newAsyncHandler()},
{"fastText discard", newFastTextHandler(io.Discard)},
{"Text discard", slog.NewTextHandler(io.Discard)},
diff --git a/slog/benchmarks/handlers.go b/slog/benchmarks/handlers.go
index f0f70b4..9ee752e 100644
--- a/slog/benchmarks/handlers.go
+++ b/slog/benchmarks/handlers.go
@@ -131,3 +131,16 @@
func (*asyncHandler) WithScope(string) slog.Handler {
panic("asyncHandler: WithScope unimplemented")
}
+
+type disabledHandler struct{}
+
+func (disabledHandler) Enabled(slog.Level) bool { return false }
+func (disabledHandler) Handle(slog.Record) error { panic("should not be called") }
+
+func (disabledHandler) With([]slog.Attr) slog.Handler {
+ panic("disabledHandler: With unimplemented")
+}
+
+func (disabledHandler) WithScope(string) slog.Handler {
+ panic("disabledHandler: WithScope unimplemented")
+}
diff --git a/slog/benchmarks/slog-pc.bench b/slog/benchmarks/slog-pc.bench
index f0cf800..899db0c 100644
--- a/slog/benchmarks/slog-pc.bench
+++ b/slog/benchmarks/slog-pc.bench
@@ -2,65 +2,80 @@
goarch: amd64
pkg: golang.org/x/exp/slog/benchmarks
cpu: Intel(R) Xeon(R) CPU @ 2.20GHz
-BenchmarkAttrs/async_discard/5_args-8 3313623 358.6 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/async_discard/5_args-8 3337614 363.7 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/async_discard/5_args-8 3225496 359.6 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/async_discard/5_args-8 3340921 357.4 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/async_discard/5_args-8 3356816 357.9 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/async_discard/10_args-8 1949758 623.7 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/10_args-8 1978635 615.7 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/10_args-8 1953513 623.0 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/10_args-8 1889458 642.6 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/10_args-8 1850548 639.3 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/40_args-8 592636 2039 ns/op 1408 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/40_args-8 537145 2028 ns/op 1408 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/40_args-8 576033 2001 ns/op 1408 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/40_args-8 639178 2032 ns/op 1408 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/40_args-8 499279 2030 ns/op 1408 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/5_args-8 2776984 441.7 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/fastText_discard/5_args-8 2745285 440.7 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/fastText_discard/5_args-8 2749682 435.4 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/fastText_discard/5_args-8 2725453 441.9 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/fastText_discard/5_args-8 2733200 442.3 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/fastText_discard/10_args-8 1382514 870.3 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/10_args-8 1381012 918.3 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/10_args-8 1387348 866.7 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/10_args-8 1394262 875.1 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/10_args-8 1376648 871.6 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/40_args-8 402344 3030 ns/op 1412 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/40_args-8 378612 3008 ns/op 1412 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/40_args-8 438976 3017 ns/op 1412 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/40_args-8 406396 2995 ns/op 1412 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/40_args-8 443701 3122 ns/op 1412 B/op 1 allocs/op
-BenchmarkAttrs/Text_discard/5_args-8 1322332 928.3 ns/op 8 B/op 2 allocs/op
-BenchmarkAttrs/Text_discard/5_args-8 1352413 933.9 ns/op 8 B/op 2 allocs/op
-BenchmarkAttrs/Text_discard/5_args-8 1274869 906.0 ns/op 8 B/op 2 allocs/op
-BenchmarkAttrs/Text_discard/5_args-8 1313193 909.8 ns/op 8 B/op 2 allocs/op
-BenchmarkAttrs/Text_discard/5_args-8 1358574 883.2 ns/op 8 B/op 2 allocs/op
-BenchmarkAttrs/Text_discard/10_args-8 847946 1489 ns/op 224 B/op 5 allocs/op
-BenchmarkAttrs/Text_discard/10_args-8 817272 1493 ns/op 224 B/op 5 allocs/op
-BenchmarkAttrs/Text_discard/10_args-8 800985 1471 ns/op 224 B/op 5 allocs/op
-BenchmarkAttrs/Text_discard/10_args-8 786033 1480 ns/op 224 B/op 5 allocs/op
-BenchmarkAttrs/Text_discard/10_args-8 950853 1494 ns/op 224 B/op 5 allocs/op
-BenchmarkAttrs/Text_discard/40_args-8 257581 4866 ns/op 1477 B/op 17 allocs/op
-BenchmarkAttrs/Text_discard/40_args-8 257049 4717 ns/op 1477 B/op 17 allocs/op
-BenchmarkAttrs/Text_discard/40_args-8 265626 4646 ns/op 1477 B/op 17 allocs/op
-BenchmarkAttrs/Text_discard/40_args-8 268263 4682 ns/op 1477 B/op 17 allocs/op
-BenchmarkAttrs/Text_discard/40_args-8 259975 4684 ns/op 1477 B/op 17 allocs/op
-BenchmarkAttrs/JSON_discard/5_args-8 1302524 965.7 ns/op 104 B/op 3 allocs/op
-BenchmarkAttrs/JSON_discard/5_args-8 1294948 927.6 ns/op 104 B/op 3 allocs/op
-BenchmarkAttrs/JSON_discard/5_args-8 1302220 936.2 ns/op 104 B/op 3 allocs/op
-BenchmarkAttrs/JSON_discard/5_args-8 1288591 912.6 ns/op 104 B/op 3 allocs/op
-BenchmarkAttrs/JSON_discard/5_args-8 1293116 956.7 ns/op 104 B/op 3 allocs/op
-BenchmarkAttrs/JSON_discard/10_args-8 810056 1559 ns/op 368 B/op 6 allocs/op
-BenchmarkAttrs/JSON_discard/10_args-8 800988 1570 ns/op 368 B/op 6 allocs/op
-BenchmarkAttrs/JSON_discard/10_args-8 774804 1551 ns/op 368 B/op 6 allocs/op
-BenchmarkAttrs/JSON_discard/10_args-8 789522 1589 ns/op 368 B/op 6 allocs/op
-BenchmarkAttrs/JSON_discard/10_args-8 730042 1546 ns/op 368 B/op 6 allocs/op
-BenchmarkAttrs/JSON_discard/40_args-8 243769 5058 ns/op 1910 B/op 18 allocs/op
-BenchmarkAttrs/JSON_discard/40_args-8 242502 5151 ns/op 1910 B/op 18 allocs/op
-BenchmarkAttrs/JSON_discard/40_args-8 228924 5072 ns/op 1910 B/op 18 allocs/op
-BenchmarkAttrs/JSON_discard/40_args-8 247141 5088 ns/op 1910 B/op 18 allocs/op
-BenchmarkAttrs/JSON_discard/40_args-8 244929 5097 ns/op 1910 B/op 18 allocs/op
+BenchmarkAttrs/disabled/5_args-8 100000000 10.02 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/5_args-8 120896504 9.981 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/5_args-8 100000000 10.23 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/5_args-8 100000000 10.06 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/5_args-8 120556380 9.942 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/10_args-8 62952199 17.94 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/10_args-8 63987754 18.04 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/10_args-8 62148806 18.09 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/10_args-8 60456765 18.01 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/10_args-8 63532894 18.07 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/40_args-8 18832660 63.05 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/40_args-8 18503997 63.05 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/40_args-8 18793000 63.33 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/40_args-8 18851764 62.90 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/40_args-8 18620378 63.33 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/async_discard/5_args-8 3081579 386.9 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/async_discard/5_args-8 2594556 389.4 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/async_discard/5_args-8 3092631 387.6 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/async_discard/5_args-8 3095012 396.3 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/async_discard/5_args-8 3090172 389.4 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/async_discard/10_args-8 1816550 682.2 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/10_args-8 1721044 692.5 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/10_args-8 1749418 674.9 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/10_args-8 1728466 712.4 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/10_args-8 1780058 676.4 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/40_args-8 510950 2316 ns/op 1408 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/40_args-8 489726 2332 ns/op 1408 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/40_args-8 464305 2298 ns/op 1408 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/40_args-8 499432 2455 ns/op 1408 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/40_args-8 462938 2300 ns/op 1408 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/5_args-8 2519834 481.5 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/fastText_discard/5_args-8 2521468 481.4 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/fastText_discard/5_args-8 2465902 486.9 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/fastText_discard/5_args-8 2511697 474.6 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/fastText_discard/5_args-8 2455657 497.1 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/fastText_discard/10_args-8 1217221 922.8 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/10_args-8 1303630 920.9 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/10_args-8 1331846 915.3 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/10_args-8 1300803 905.6 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/10_args-8 1342477 908.3 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/40_args-8 370690 3211 ns/op 1412 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/40_args-8 382737 3269 ns/op 1413 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/40_args-8 397886 3160 ns/op 1412 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/40_args-8 389143 3125 ns/op 1412 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/40_args-8 395041 3141 ns/op 1412 B/op 1 allocs/op
+BenchmarkAttrs/Text_discard/5_args-8 1205694 985.4 ns/op 8 B/op 2 allocs/op
+BenchmarkAttrs/Text_discard/5_args-8 1000000 1013 ns/op 8 B/op 2 allocs/op
+BenchmarkAttrs/Text_discard/5_args-8 1214325 977.5 ns/op 8 B/op 2 allocs/op
+BenchmarkAttrs/Text_discard/5_args-8 1202088 985.5 ns/op 8 B/op 2 allocs/op
+BenchmarkAttrs/Text_discard/5_args-8 1000000 1017 ns/op 8 B/op 2 allocs/op
+BenchmarkAttrs/Text_discard/10_args-8 771573 1641 ns/op 224 B/op 5 allocs/op
+BenchmarkAttrs/Text_discard/10_args-8 805484 1651 ns/op 224 B/op 5 allocs/op
+BenchmarkAttrs/Text_discard/10_args-8 756583 1652 ns/op 224 B/op 5 allocs/op
+BenchmarkAttrs/Text_discard/10_args-8 811674 1642 ns/op 224 B/op 5 allocs/op
+BenchmarkAttrs/Text_discard/10_args-8 812188 1630 ns/op 224 B/op 5 allocs/op
+BenchmarkAttrs/Text_discard/40_args-8 223544 5286 ns/op 1477 B/op 17 allocs/op
+BenchmarkAttrs/Text_discard/40_args-8 243157 5573 ns/op 1477 B/op 17 allocs/op
+BenchmarkAttrs/Text_discard/40_args-8 226200 5568 ns/op 1477 B/op 17 allocs/op
+BenchmarkAttrs/Text_discard/40_args-8 231757 5341 ns/op 1477 B/op 17 allocs/op
+BenchmarkAttrs/Text_discard/40_args-8 230116 5308 ns/op 1477 B/op 17 allocs/op
+BenchmarkAttrs/JSON_discard/5_args-8 1347787 893.8 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/JSON_discard/5_args-8 1340078 880.7 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/JSON_discard/5_args-8 1333688 899.6 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/JSON_discard/5_args-8 1440332 825.5 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/JSON_discard/5_args-8 1390076 851.6 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/JSON_discard/10_args-8 865652 1498 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/10_args-8 857676 1501 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/10_args-8 895814 1483 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/10_args-8 943058 1497 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/10_args-8 888254 1452 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/40_args-8 232080 5004 ns/op 1412 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/40_args-8 262764 4974 ns/op 1412 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/40_args-8 249297 4970 ns/op 1412 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/40_args-8 230474 4990 ns/op 1412 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/40_args-8 248367 4970 ns/op 1412 B/op 1 allocs/op
PASS
-ok golang.org/x/exp/slog/benchmarks 96.016s
+ok golang.org/x/exp/slog/benchmarks 113.516s
diff --git a/slog/benchmarks/slog.bench b/slog/benchmarks/slog.bench
index 106dd86..5a520a3 100644
--- a/slog/benchmarks/slog.bench
+++ b/slog/benchmarks/slog.bench
@@ -2,65 +2,80 @@
goarch: amd64
pkg: golang.org/x/exp/slog/benchmarks
cpu: Intel(R) Xeon(R) CPU @ 2.20GHz
-BenchmarkAttrs/async_discard/5_args-8 15210396 77.29 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/async_discard/5_args-8 15145908 77.67 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/async_discard/5_args-8 15253398 77.19 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/async_discard/5_args-8 15179468 77.85 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/async_discard/5_args-8 15277597 81.39 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/async_discard/10_args-8 4787269 261.8 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/10_args-8 4579984 258.4 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/10_args-8 4704289 262.6 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/10_args-8 4567789 262.4 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/10_args-8 4439834 260.9 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/40_args-8 1343312 896.3 ns/op 1408 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/40_args-8 1359198 896.1 ns/op 1408 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/40_args-8 1245687 906.5 ns/op 1408 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/40_args-8 1315179 893.4 ns/op 1408 B/op 1 allocs/op
-BenchmarkAttrs/async_discard/40_args-8 1324700 908.3 ns/op 1408 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/5_args-8 8722515 155.0 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/fastText_discard/5_args-8 6306207 166.3 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/fastText_discard/5_args-8 6654472 201.0 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/fastText_discard/5_args-8 6788815 182.5 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/fastText_discard/5_args-8 8685591 138.8 ns/op 0 B/op 0 allocs/op
-BenchmarkAttrs/fastText_discard/10_args-8 2224696 537.5 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/10_args-8 2216884 528.4 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/10_args-8 2238348 521.0 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/10_args-8 2045665 513.9 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/10_args-8 2249340 539.3 ns/op 208 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/40_args-8 585816 2111 ns/op 1412 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/40_args-8 549836 2177 ns/op 1411 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/40_args-8 640612 2149 ns/op 1412 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/40_args-8 529753 2189 ns/op 1411 B/op 1 allocs/op
-BenchmarkAttrs/fastText_discard/40_args-8 604201 2063 ns/op 1411 B/op 1 allocs/op
-BenchmarkAttrs/Text_discard/5_args-8 2076205 619.4 ns/op 8 B/op 2 allocs/op
-BenchmarkAttrs/Text_discard/5_args-8 1869274 640.6 ns/op 8 B/op 2 allocs/op
-BenchmarkAttrs/Text_discard/5_args-8 1917584 697.6 ns/op 8 B/op 2 allocs/op
-BenchmarkAttrs/Text_discard/5_args-8 1886079 603.1 ns/op 8 B/op 2 allocs/op
-BenchmarkAttrs/Text_discard/5_args-8 2006808 632.5 ns/op 8 B/op 2 allocs/op
-BenchmarkAttrs/Text_discard/10_args-8 1000000 1124 ns/op 224 B/op 5 allocs/op
-BenchmarkAttrs/Text_discard/10_args-8 1000000 1183 ns/op 224 B/op 5 allocs/op
-BenchmarkAttrs/Text_discard/10_args-8 1000000 1168 ns/op 224 B/op 5 allocs/op
-BenchmarkAttrs/Text_discard/10_args-8 1000000 1145 ns/op 224 B/op 5 allocs/op
-BenchmarkAttrs/Text_discard/10_args-8 1000000 1124 ns/op 224 B/op 5 allocs/op
-BenchmarkAttrs/Text_discard/40_args-8 345771 3787 ns/op 1476 B/op 17 allocs/op
-BenchmarkAttrs/Text_discard/40_args-8 326586 3863 ns/op 1476 B/op 17 allocs/op
-BenchmarkAttrs/Text_discard/40_args-8 345025 3803 ns/op 1476 B/op 17 allocs/op
-BenchmarkAttrs/Text_discard/40_args-8 327498 3867 ns/op 1476 B/op 17 allocs/op
-BenchmarkAttrs/Text_discard/40_args-8 318794 3861 ns/op 1476 B/op 17 allocs/op
-BenchmarkAttrs/JSON_discard/5_args-8 1824364 689.2 ns/op 104 B/op 3 allocs/op
-BenchmarkAttrs/JSON_discard/5_args-8 1837174 703.3 ns/op 104 B/op 3 allocs/op
-BenchmarkAttrs/JSON_discard/5_args-8 1941864 690.8 ns/op 104 B/op 3 allocs/op
-BenchmarkAttrs/JSON_discard/5_args-8 1731802 714.0 ns/op 104 B/op 3 allocs/op
-BenchmarkAttrs/JSON_discard/5_args-8 1729310 744.1 ns/op 104 B/op 3 allocs/op
-BenchmarkAttrs/JSON_discard/10_args-8 1000000 1217 ns/op 368 B/op 6 allocs/op
-BenchmarkAttrs/JSON_discard/10_args-8 1000000 1194 ns/op 368 B/op 6 allocs/op
-BenchmarkAttrs/JSON_discard/10_args-8 1000000 1233 ns/op 368 B/op 6 allocs/op
-BenchmarkAttrs/JSON_discard/10_args-8 1000000 1205 ns/op 368 B/op 6 allocs/op
-BenchmarkAttrs/JSON_discard/10_args-8 1000000 1197 ns/op 368 B/op 6 allocs/op
-BenchmarkAttrs/JSON_discard/40_args-8 334358 4195 ns/op 1908 B/op 18 allocs/op
-BenchmarkAttrs/JSON_discard/40_args-8 309706 4226 ns/op 1908 B/op 18 allocs/op
-BenchmarkAttrs/JSON_discard/40_args-8 288650 4119 ns/op 1909 B/op 18 allocs/op
-BenchmarkAttrs/JSON_discard/40_args-8 300709 4154 ns/op 1909 B/op 18 allocs/op
-BenchmarkAttrs/JSON_discard/40_args-8 265053 4160 ns/op 1908 B/op 18 allocs/op
+BenchmarkAttrs/disabled/5_args-8 120793970 10.09 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/5_args-8 120658738 9.899 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/5_args-8 100000000 10.01 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/5_args-8 100000000 10.01 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/5_args-8 120536524 9.989 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/10_args-8 64657927 18.04 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/10_args-8 63846556 18.06 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/10_args-8 63629414 18.02 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/10_args-8 64100286 19.21 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/10_args-8 65766166 18.12 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/40_args-8 18972454 63.28 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/40_args-8 18783354 64.29 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/40_args-8 18715994 63.11 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/40_args-8 18988142 63.22 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/disabled/40_args-8 18678668 63.03 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/async_discard/5_args-8 15315618 78.12 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/async_discard/5_args-8 15137607 78.32 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/async_discard/5_args-8 15149436 78.73 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/async_discard/5_args-8 15181647 81.45 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/async_discard/5_args-8 15160042 77.58 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/async_discard/10_args-8 4704374 274.1 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/10_args-8 4397641 268.1 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/10_args-8 4408592 276.0 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/10_args-8 4068620 289.2 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/10_args-8 4362400 268.4 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/40_args-8 1282314 949.3 ns/op 1408 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/40_args-8 1282678 953.8 ns/op 1408 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/40_args-8 1288890 938.6 ns/op 1408 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/40_args-8 1325292 976.2 ns/op 1408 B/op 1 allocs/op
+BenchmarkAttrs/async_discard/40_args-8 1298730 921.9 ns/op 1408 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/5_args-8 7389552 157.3 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/fastText_discard/5_args-8 7859308 172.5 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/fastText_discard/5_args-8 5420155 233.2 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/fastText_discard/5_args-8 6782334 173.1 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/fastText_discard/5_args-8 5866044 210.0 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/fastText_discard/10_args-8 2312252 518.3 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/10_args-8 2258119 532.0 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/10_args-8 2281345 512.9 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/10_args-8 2327382 512.6 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/10_args-8 2330041 518.1 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/40_args-8 633972 1977 ns/op 1412 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/40_args-8 609144 1960 ns/op 1412 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/40_args-8 607858 2006 ns/op 1412 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/40_args-8 637404 1948 ns/op 1411 B/op 1 allocs/op
+BenchmarkAttrs/fastText_discard/40_args-8 645720 1982 ns/op 1411 B/op 1 allocs/op
+BenchmarkAttrs/Text_discard/5_args-8 1742284 687.7 ns/op 8 B/op 2 allocs/op
+BenchmarkAttrs/Text_discard/5_args-8 1761308 679.4 ns/op 8 B/op 2 allocs/op
+BenchmarkAttrs/Text_discard/5_args-8 1678760 706.1 ns/op 8 B/op 2 allocs/op
+BenchmarkAttrs/Text_discard/5_args-8 1644138 726.8 ns/op 8 B/op 2 allocs/op
+BenchmarkAttrs/Text_discard/5_args-8 1725314 719.6 ns/op 8 B/op 2 allocs/op
+BenchmarkAttrs/Text_discard/10_args-8 1000000 1305 ns/op 224 B/op 5 allocs/op
+BenchmarkAttrs/Text_discard/10_args-8 1000000 1249 ns/op 224 B/op 5 allocs/op
+BenchmarkAttrs/Text_discard/10_args-8 1000000 1246 ns/op 224 B/op 5 allocs/op
+BenchmarkAttrs/Text_discard/10_args-8 1000000 1247 ns/op 224 B/op 5 allocs/op
+BenchmarkAttrs/Text_discard/10_args-8 1000000 1261 ns/op 224 B/op 5 allocs/op
+BenchmarkAttrs/Text_discard/40_args-8 256171 4429 ns/op 1476 B/op 17 allocs/op
+BenchmarkAttrs/Text_discard/40_args-8 301150 4270 ns/op 1476 B/op 17 allocs/op
+BenchmarkAttrs/Text_discard/40_args-8 252357 4238 ns/op 1476 B/op 17 allocs/op
+BenchmarkAttrs/Text_discard/40_args-8 328380 4245 ns/op 1476 B/op 17 allocs/op
+BenchmarkAttrs/Text_discard/40_args-8 301352 4192 ns/op 1477 B/op 17 allocs/op
+BenchmarkAttrs/JSON_discard/5_args-8 1827435 635.1 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/JSON_discard/5_args-8 1804364 652.4 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/JSON_discard/5_args-8 1928208 627.1 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/JSON_discard/5_args-8 1893918 574.8 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/JSON_discard/5_args-8 1791198 664.7 ns/op 0 B/op 0 allocs/op
+BenchmarkAttrs/JSON_discard/10_args-8 1000000 1168 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/10_args-8 1000000 1153 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/10_args-8 1000000 1130 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/10_args-8 1000000 1118 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/10_args-8 1000000 1163 ns/op 208 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/40_args-8 319970 3941 ns/op 1411 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/40_args-8 304051 4078 ns/op 1411 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/40_args-8 310402 3868 ns/op 1411 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/40_args-8 332454 4042 ns/op 1411 B/op 1 allocs/op
+BenchmarkAttrs/JSON_discard/40_args-8 326292 3939 ns/op 1411 B/op 1 allocs/op
PASS
-ok golang.org/x/exp/slog/benchmarks 90.441s
+ok golang.org/x/exp/slog/benchmarks 111.625s