All results are based on my patch against the sweet benchmarks.
- baseline is HEAD^ with tracing disabled.
- gentraceback is HEAD^ with tracing enabled (
-trace
). - fpcallers is HEAD with tracing enabled (
-trace
).
All results are based on my patch against the sweet benchmarks.
-trace
).-trace
).From 08b6b8208c07c3f764da8a8fbbc01d0b1573748a Mon Sep 17 00:00:00 2001 | |
From: =?UTF-8?q?Felix=20Geisend=C3=B6rfer?= | |
<felix.geisendoerfer@datadoghq.com> | |
Date: Fri, 10 Mar 2023 11:04:19 +0100 | |
Subject: [PATCH] runtime: use sched.bp for unwinding trace events with frame | |
pointers | |
Depends on CL 472195. | |
Change-Id: Ibe91debf04569d18ccb2eb6497bfebdd1eaeaf74 |
$ go tool compile -S main.go | |
main.main STEXT size=64 args=0x0 locals=0x8 funcid=0x0 align=0x0 | |
0x0000 00000 (main.go:3) TEXT main.main(SB), ABIInternal, $16-0 | |
0x0000 00000 (main.go:3) MOVD 16(g), R16 | |
0x0004 00004 (main.go:3) PCDATA $0, $-2 | |
0x0004 00004 (main.go:3) CMP R16, RSP | |
0x0008 00008 (main.go:3) BLS 40 | |
0x000c 00012 (main.go:3) PCDATA $0, $-1 | |
0x000c 00012 (main.go:3) MOVD.W R30, -16(RSP) | |
0x0010 00016 (main.go:3) MOVD R29, -8(RSP) |
package main | |
import ( | |
"bytes" | |
"compress/gzip" | |
"io" | |
"os" | |
"testing" | |
) |
$ curl 'http://169.254.169.254/latest/meta-data/instance-type' | |
c6g.metal | |
$ go version | |
go version go1.19.3 linux/arm64 | |
$ go test -run='^$' -cpu=1,2,4,8,16,32,64 -bench . -count=30 -timeout=0 | tee bench.txt | |
$ benchstat bench.txt | tee benchstat.txt |
diff --git a/src/runtime/pprof/pprof_test.go b/src/runtime/pprof/pprof_test.go | |
index 1947edf44a..f474036ccf 100644 | |
--- a/src/runtime/pprof/pprof_test.go | |
+++ b/src/runtime/pprof/pprof_test.go | |
@@ -1435,49 +1435,25 @@ func TestLabelSystemstack(t *testing.T) { | |
// Two conditions to check: | |
// * labelHog should always be labeled. | |
// * The label should _only_ appear on labelHog and the Do call above. | |
- for _, s := range p.Sample { | |
+ _true, _false := true, false |
TO: zollamt-schoeneberg@zab-schoeneberg.bfinv.de (usually provided on the card you get) | |
Sehr geehrtes Zollamt, | |
am DD.MM.YYYY erhielt ich ein Schreiben über den Eingang einer Sendung bei der keine Rechnung angebracht war. | |
lfd. Nr: <NR> | |
Empfänger: <Name>, <Adresse>, <PLZ> <Ort> | |
Bei dem Paket handelt es sich um ein T-Shirt das mir geschenkt wurde da ich in meiner Freizeit kostenlose Software für die Integration mit einem Datenanalyse Dienst geschrieben habe (siehe http://support.metrics.librato.com/knowledgebase/articles/53548). Das T-Shirt ist vermutlich mit dem Logo des Dienstes bedruckt / hat keinen offiziellen Marktwert. Die Materialkosten sind wahrscheinlich ~20 EUR. |
{"version":0,"package":"main","goos":"darwin","goarch":"amd64","gc_version":"go1.17.2","file":"/Users/felix.geisendoerfer/go/src/github.com/felixge/dump/inline-test/main.go"} | |
{"range":{"start":{"line":5,"character":6},"end":{"line":5,"character":6}},"severity":3,"code":"canInlineFunction","source":"go compiler","message":"cost: 59"} | |
{"range":{"start":{"line":9,"character":6},"end":{"line":9,"character":6}},"severity":3,"code":"cannotInlineFunction","source":"go compiler","message":"function too complex: cost 88 exceeds budget 80"} | |
{"range":{"start":{"line":11,"character":15},"end":{"line":11,"character":15}},"severity":3,"code":"escape","source":"go compiler","message":"\"Hello World\" escapes to heap","relatedInformation":[{"location":{"uri":"file:///Users/felix.geisendoerfer/go/src/github.com/felixge/dump/inline-test/main.go","range":{"start":{"line":11,"character":15},"end":{"line":11,"character":15}}},"message":"escflow: flow: ~arg0 = \u0026{storage for \"Hello World\"}:"},{"location":{"uri":"file:///U |
gc.widget("gc.cl.widgets.scrollable", {}, function (m, document, $, gc) { | |
$ = jQuery; // Sorry Malte | |
var ANIMATION_SPEED = 800; | |
// A little helper function to sniff common CSS properties that we need | |
// to animate form an event. | |
function getCss($element) { | |
var css = { | |
opacity: $element.css('opacity'), |
{ | |
"flameExplain": "Go to flame-explain.com and paste this JSON in the Input tab.", | |
"input": { | |
"plan": "[\n {\n \"Plan\": {\n \"Node Type\": \"Function Scan\",\n \"Parallel Aware\": false,\n \"Function Name\": \"generate_series\",\n \"Schema\": \"pg_catalog\",\n \"Alias\": \"generate_series\",\n \"Startup Cost\": 0.00,\n \"Total Cost\": 10.00,\n \"Plan Rows\": 1000,\n \"Plan Width\": 4,\n \"Actual Startup Time\": 194.503,\n \"Actual Total Time\": 331.185,\n \"Actual Rows\": 1500000,\n \"Actual Loops\": 1,\n \"Output\": [\"generate_series\"],\n \"Function Call\": \"generate_series(1, 1500000)\",\n \"Shared Hit Blocks\": 0,\n \"Shared Read Blocks\": 0,\n \"Shared Dirtied Blocks\": 0,\n \"Shared Written Blocks\": 0,\n \"Local Hit Blocks\": 0,\n \"Local Read Blocks\": 0,\n \"Local Dirtied Blocks\": 0,\n \"Local Written Blocks\": 0,\n \"Temp Read Blocks\": 0,\n \"Temp Written Bloc |