X7ROOT File Manager
Current Path:
/opt/golang/1.17.2/test/bench/garbage
opt
/
golang
/
1.17.2
/
test
/
bench
/
garbage
/
📁
..
📄
Makefile
(324 B)
📄
parser.go
(5.8 KB)
📄
peano.go
(1.99 KB)
📄
stats.go
(1.5 KB)
📄
tree.go
(3.02 KB)
📄
tree2.go
(2.16 KB)
Editing: stats.go
// Copyright 2010 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package main import ( "fmt" "runtime" "sort" "time" ) func gcstats(name string, n int, t time.Duration) { st := new(runtime.MemStats) runtime.ReadMemStats(st) nprocs := runtime.GOMAXPROCS(-1) cpus := "" if nprocs != 1 { cpus = fmt.Sprintf("-%d", nprocs) } fmt.Printf("garbage.%sMem%s Alloc=%d/%d Heap=%d NextGC=%d Mallocs=%d\n", name, cpus, st.Alloc, st.TotalAlloc, st.Sys, st.NextGC, st.Mallocs) fmt.Printf("garbage.%s%s %d %d ns/op\n", name, cpus, n, t.Nanoseconds()/int64(n)) fmt.Printf("garbage.%sLastPause%s 1 %d ns/op\n", name, cpus, st.PauseNs[(st.NumGC-1)%uint32(len(st.PauseNs))]) fmt.Printf("garbage.%sPause%s %d %d ns/op\n", name, cpus, st.NumGC, int64(st.PauseTotalNs)/int64(st.NumGC)) nn := int(st.NumGC) if nn >= len(st.PauseNs) { nn = len(st.PauseNs) } t1, t2, t3, t4, t5 := tukey5(st.PauseNs[0:nn]) fmt.Printf("garbage.%sPause5%s: %d %d %d %d %d\n", name, cpus, t1, t2, t3, t4, t5) // fmt.Printf("garbage.%sScan: %v\n", name, st.ScanDist) } type T []uint64 func (t T) Len() int { return len(t) } func (t T) Swap(i, j int) { t[i], t[j] = t[j], t[i] } func (t T) Less(i, j int) bool { return t[i] < t[j] } func tukey5(raw []uint64) (lo, q1, q2, q3, hi uint64) { x := make(T, len(raw)) copy(x, raw) sort.Sort(T(x)) lo = x[0] q1 = x[len(x)/4] q2 = x[len(x)/2] q3 = x[len(x)*3/4] hi = x[len(x)-1] return }
Upload File
Create Folder