func (m ConcurrentMap) GetShard(key string) *ConcurrentMapShared {
	return m[uint(hash([]byte(key)))%uint(shardCount)]
}
GetShard returns shard under given key
package cmap
import (
	jsoniter "github.com/json-iterator/go"
	"hash/fnv"
	"sync"
)
var shardCount = 128
var json = jsoniter.ConfigCompatibleWithStandardLibrary
type ConcurrentMap []*ConcurrentMapShared
type ConcurrentMapShared struct {
	items        map[string]interface{}
	sync.RWMutex  
}
func New() ConcurrentMap {
	m := make(ConcurrentMap, shardCount)
	for i := 0; i < shardCount; i++ {
		m[i] = &ConcurrentMapShared{items: make(map[string]interface{})}
	}
	return m
}