import timeit
from collections import defaultdict


def m1():
    tdict = {}
    tstr = 'one two one two three'*10
    for w in tstr.split():
        tdict[w] = tdict.get(w, 0) + 1
        res = tdict[w] - 1


def m2():
    tlist = []
    tstr = 'one two one two three'*10
    for w in tstr.split():
        res = tlist.count(w)
        tlist.append(w)
        
        
def m3():
    dftdict = defaultdict(int)
    tstr = 'one two one two three'*10
    for w in tstr.split():
    	dftdict[w]+=1
    	res = dftdict[w] - 1
    	


print(timeit.timeit(m1, number=120000))
print(timeit.timeit(m2, number=120000))
print(timeit.timeit(m3, number=120000))
