Hi, I maked new benchmark:
import random,string, time t=time.time() def random_string(dl=10): d = [random.choice(string.letters) for x in xrange(dl)] s = "".join(d) return s basic=[] words=[] n=20000 #number of basic words n2=5000 #number of words in text #Create list of words variants for i in range(n): basic_word=random_string() if basic_word in basic: basic_word=random_string() basic.append(basic_word) tmp=[] tmp.append(basic_word) for j in range(4): tmp.append(basic_word+random_string(3)) words.append(tmp) #Create random text text=[] for i in range(n2): r1=random.randint(0,n-1) r2=random.randint(0,3) text.append(words[r1][r2]) #Replace non basic word to basic word for i in range(n2): for j in range(n): if text[i] in words[j]: text[i]=words[j][0] ok=0 for i in range(n2): if text[i] in basic: ok+=1 if ok==n2: print("OK") else: print("Fail") print(time.time()-t) This code tranform non basic word to basic word. For simply I use random strings. I tested this code on Linux and CPython use 7.8 MB RAM, but Pypy use 14.5 MB RAM. Grzegorz _______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev