Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from random import randint as rnd
- import sys
- import mysql.connector#pip install mysql-connector-python
- conn= mysql.connector.connect(host="localhost",user="root",database="uids",passwd="root")
- cur=conn.cursor()
- uidmax=2147483647
- maxels=2000000000
- #note: the database it's just one column for numbers, the dable it's called ids and the database it's called uids
- def get(query):
- cur.execute(query)
- return cur.fetchall();
- doesExist= lambda item, equalto : not get("SELECT * FROM ids where {}={}".format(item,equalto))==[]
- print("uidmax: "+str(uidmax))
- uids=set([])
- colls=0
- for i in range(maxels):
- cy=True
- uid=0
- if i%int(maxels*0.00001)==0:
- print("{}/{}, {}, {} collisions so far".format(i,maxels,i/maxels,colls))
- while cy:
- uid=rnd(0,uidmax)
- if doesExist("id",uid):
- colls+=1
- print("collision {}, index {}".format(colls,i))
- else:
- cy=False
- cur.execute("INSERT INTO ids VALUES({})".format(uid))
- # print("index {} passed as {}".format(i,uid))
- print(colls)
- conn.close()
- print("{} collisions on {} elements, {} rate".format(colls, len(uids), colls/len(uids)))
- input("press return to continue...")#safety measure
- input("press return to exit...")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement