In diesem Beitrag wird erläutert, wie Benchmarks anhand eines Beispiels profiliert werden: Benchmark-Profiling mit pprof .
Der folgende Benchmark simuliert etwas CPU-Arbeit.
%Vor%Um ein CPU-Profil für den Benchmark-Test zu generieren, führen Sie:
%Vor% Die Flags -memprofile
und -blockprofile
können verwendet werden, um Speicherreservierungen und blockierende Anrufprofile zu generieren.
Um das Profil zu analysieren, verwenden Sie das Go-Tool:
%Vor%Der Flaschenhals ist in diesem Fall der Mutex, verursacht durch die Standardquelle in math / rand, die synchronisiert wird.
Andere Profildarstellungen und Ausgabeformate sind ebenfalls möglich, z. %Code%. Geben Sie tree
für weitere Optionen ein.
Beachten Sie, dass jeder Initialisierungscode vor der Benchmark-Schleife ebenfalls profiliert wird.
Tags und Links profiling benchmarking go pprof