I'm looking for a more efficient implementation for a generic "dictionary counter". Currently this naive function produces a faster result compared to the collections.Counter implementation
def uniqueCounter(x):
    dx = defaultdict(int)
    for i in x:
        dx[i] += 1
    return dx
EDIT: Some characteristic sample input:
c1= zip(np.random.randint(0,2,200000),np.random.randint(0,2,200000))
c2= np.random.randint(0,2,200000)
c1: 
uniqueCounter timing: 
10 loops, best of 3: 61.1 ms per loop
collections.Counter timing:
10 loops, best of 3: 113 ms per loop 
c2:
uniqueCounter timing: 10 loops, best of 3: 57 ms per loop
collections.Counter timing: 10 loops, best of 3: 120 ms per loop
 
    