I've got a function that reads `map[string]interface{}` off a channel, 
processing each one until that channel is closed. Processing each `map` 
entails allocating some slices and other data structures, grouping by like 
keys, etc.

I've got a benchmark that reads 10000 rows of JSON from a file, unmarshals 
each to a `map[string]interface`, sets up channels, runs the aforementioned 
function in a Goroutine, and sends each unmarshaled JSON over the input 
channel of the function, etc., etc.

When I profile CPU usage, I get insightful output, and I've managed to 
improve performance by a factor of 4.

However, when I run the benchmark with `memprofile` flag and point pprof at 
it, I get something like:

0 of 0 total (     0%)
     flat flat% sum%      cum cum%
        0    0%      0%          0      0% pkgname.SomeFunc
        0    0%      0%          0      0% pkgname.SomeOtherFunc

I'm running Go 1.6 on Ubuntu 12.04.

I've searched and searched but not found any answers as to why I am unable 
to obtain a good heap profile. `runtime.mallocgc` features prominently in 
my cpu profiles, so I know objects are getting allocated and collected.

Any help?

Thanks

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to