go - Do map of pointers has performance in large scale : I want to create cache with map. As map doesn't allow reference to its value, so it's not possible to change values in called functions. We have to return modified object to source and update map in place.
In contrast, There is ability to define map of pointers (pointer of structure) that provide ability to pass map value any anywhere 

My question is: Is it good idea to using map of pointers and has performance in large scale? Do it may make some GC problem or somthing else ..?

    package main
    
    import "fmt"
    
    type Cache struct {
    	name    string
    	counter int
    }
    
    func incr(c Cache) {
    	c.counter += 1
    }
    func incrp(c *Cache) {
    	c.counter += 2
    }
    
    func main() {
    	m := make(map[string]Cache)
    	m["james"] = Cache{name: "James", counter: 10}
    
    	c := m["james"]
    	incr(c)
    	fmt.Println(c.name, c.counter) // James 10
    
    	mp := make(map[string]*Cache)
    	mp["james"] = &Cache{name: "James", counter: 10}
    	cp := mp["james"]
    	incrp(cp)
    	fmt.Println(cp.name, cp.counter) // James 12
    
    }

