Скажите, что я огромный диктат, например, huge_dict={'Key1': 'ABC' , 'Key 2' : 'DEF' ,'KEY 4' :'GHI', 'KEY5': 'IJK' ... , 'KEY N': 'XYZ'}
Требуется много времени для поиска значения в огромный_дикт Я пытался использовать многопроцессорную технику, поскольку она использует различные ядра Я пытаюсь выполнить следующие шаги:
1: разделить огромный_диктm small dict
2: создать m процесс в python и передать ему значение поиска
3: если какой-либо процесс получит значение, завершить все процессы.
до этого я загружаю Deep Learning /Модель машинного обучения.при попытке использовать многопроцессорность он загружается как mnay раз, так как мой процесс порожден, чей вывод огромный_dict
huge_dict = {'Key1': 'ABC' , 'Key 2' : 'DEF' ,'KEY 4' :'GHI', 'KEY5': 'IJK'}
d1 = dict(huge_dict.items()[len(huge_dict)/2:])
d2 = dict(huge_dict.items()[:len(huge_dict)/2])
# Is this an efficient way to do it ? what if I split in n dict
def worker(dict , searck_value, num):
"""thread worker function"""
print('Worker:', num)
print(mp.cpu_count())
return dict
#is is correct way to use multiprocessing
#current using time consuming logic:
def search(d, word)
d = {'key1': "ASD", 'key2': "asd", 'key3':"fds", 'key4':"gfd", 'key5': "hjk"}
for key in d:
if(d[key] in "search sentence or grp of words")#doing fuzzy search here
return d[key]
Формат данных следующий:
huge_dict={"10001": ["sentence1", "sentence2","sentence3","sentence4"],
"4001": ["sentence1", "sentence2"],
"35432": ["sentence1", "sentence2","sentence3","sentence4", ... "sentence N"],
.....
"N":["N no of sentences"] }