Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/python3
- import time
- from collections import defaultdict,Counter
- def func0(data):
- d={}
- for word in data:
- d[word]=1
- return d
- def func1(data):
- d={}
- for word in data:
- try: d[word]+=1
- except: d[word]=1
- return d
- def func2(data):
- d={}
- for word in data:
- if word in d: d[word]+=1
- else: d[word]=1
- return d
- def func3(data):
- d={}
- for word in data:
- d[word]=d.get(word,0)+1
- return d
- def func4(data):
- d=defaultdict(int)
- for word in data:
- d[word]+=1
- return d
- def func5(data):
- d=defaultdict(int)
- for word in data:
- d[word]=d[word]+1 if word in d else 1
- return d
- def func6(data):
- return Counter(data)
- f=open("/home/TOKEN/all.spm","r")
- data=[int(x) for x in f.read(100*1024*1024).split()]
- print("input length:",len(data))
- for func,name in [(func0,"set"),(func1,"except"),(func2,"if+in"),(func3,"dict.get"),(func4,"defaultdict"),(func5,"value-if"),(func6,"Counter")]:
- t=time.time()
- d=func(data)
- d=func(data)
- d=func(data)
- d=func(data)
- d=func(data)
- t=time.time()-t
- print(t,len(d),sum(d.values()),name)
Advertisement
Add Comment
Please, Sign In to add comment