hi,
I am using a simple queue and bench marking it.
queue.go = implementation of the queue.
queue_test.go = benchmarking
profile002.pdf= pprof tool mem analysis
the command used to run the bench mark is
`go test -run='^#' -bench=BenchmarkAdd -benchmem -count=10`
results :
```
go test -run='^#' -bench=BenchmarkAdd -benchmem -count=10
goos: linux
goarch: amd64
pkg: queue-middleware/queue
cpu: Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz
BenchmarkAdd-8 78255547 15.13 ns/op 0 B/op 0 allocs/op
--- BENCH: BenchmarkAdd-8
queue_test.go:36: size:1
queue_test.go:36: size:5
BenchmarkAdd-8 86375668 13.84 ns/op 0 B/op 0 allocs/op
--- BENCH: BenchmarkAdd-8
queue_test.go:36: size:1
queue_test.go:36: size:5
BenchmarkAdd-8 91471299 13.00 ns/op 0 B/op 0 allocs/op
--- BENCH: BenchmarkAdd-8
queue_test.go:36: size:1
queue_test.go:36: size:5
BenchmarkAdd-8 87612523 12.70 ns/op 0 B/op 0 allocs/op
--- BENCH: BenchmarkAdd-8
queue_test.go:36: size:1
queue_test.go:36: size:5
BenchmarkAdd-8 93454760 12.76 ns/op 0 B/op 0 allocs/op
--- BENCH: BenchmarkAdd-8
queue_test.go:36: size:1
queue_test.go:36: size:5
BenchmarkAdd-8 91850235 12.75 ns/op 0 B/op 0 allocs/op
--- BENCH: BenchmarkAdd-8
queue_test.go:36: size:1
queue_test.go:36: size:5
BenchmarkAdd-8 97128108 13.36 ns/op 0 B/op 0 allocs/op
--- BENCH: BenchmarkAdd-8
queue_test.go:36: size:1
queue_test.go:36: size:5
BenchmarkAdd-8 93765214 12.94 ns/op 0 B/op 0 allocs/op
--- BENCH: BenchmarkAdd-8
queue_test.go:36: size:1
queue_test.go:36: size:5
BenchmarkAdd-8 86242954 13.07 ns/op 0 B/op 0 allocs/op
--- BENCH: BenchmarkAdd-8
queue_test.go:36: size:1
queue_test.go:36: size:5
BenchmarkAdd-8 88524364 12.76 ns/op 0 B/op 0 allocs/op
--- BENCH: BenchmarkAdd-8
queue_test.go:36: size:1
queue_test.go:36: size:5
PASS
ok queue-middleware/queue 11.831s
```
my understanding is
- 0B/op = no allocation done
- 0 allocs/op = no allocation per operation
Does this mean the allocation is zero for the `Add` operation?
generally, when you create queue it allocates memory in heap, will it not be reported in `benchmem`?