-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
82 lines (64 loc) · 1.75 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
from Profiler import Profiler
from page import page
from hash.ex_hash import EH
from student import student
import names
import faker
import pickle
import time
__author__ = 'kamil'
def save(hb):
pickle.dump(hb, open('save.p','wb'))
def load():
hb = pickle.load(open('save.p', 'rb'))
return hb
def get_random_student(id):
fake = faker.Faker()
name = names.get_full_name()
first_last = name.lower().split(' ')
email = first_last[0][0] + '.' + first_last[1] + '@innopolis.ru'
address = fake.address().replace('\n', ' ')
return student(id, name, email, address)
def page_test():
filename = 'student.txt'
page1 = page(filename, 0)
studs = []
for i in range(1, 5):
studs.append(get_random_student(i))
for stud in studs:
page1.insert(stud)
page1.setDoubling(2)
def db_test():
filename = 'student.txt'
mydb = EH(filename)
studs = []
for i in range(1, 10000):
if i % 100 == 0:
print('#',i)
studs.append(get_random_student(i))
print('inserting...')
with Profiler() as p:
for stud in studs:
mydb.put(stud._id, stud)
print('#',stud._id,'added')
save(mydb)
# mydb = load()
print(mydb.get(6))
def generate_dataset():
filename = 'to_put.txt'
f = open(filename, 'w')
for i in range(1, 10000):
if i % 100 == 0:
print('#',i)
student = get_random_student(i)
to_ins = str(student._id) + ' ' + student._name + ' ' + student._address + ' ' + student._email + '\n'
f.write(to_ins)
f.close()
def get_dataset():
filename = 'to_put.txt'
f = open(filename, 'r')
line = f.readline()
toks = line.split(' ')
generate_dataset()
# db_test()
# page_test()