Зробив ось таке завантаження словників:
def load_dictionaries(self):
        """Завантаження словників."""
        for path in self.path_to_dic.splitlines():
            if path:
                for file in os.listdir(path):
                    if file.endswith(".txt"):
                        with (open(os.path.join(path, file), 'rb')
                            as file):
                            with mmap.mmap(file.fileno(), 0,
                                access=mmap.ACCESS_READ) as mmap_obj:
                                full_dict_temp = mmap_obj.read().decode()
                                self.full_dict += full_dict_temp
                                self.index_dict = {}
        for match in re.finditer(
                r'\b^[А-ЩЬЮЯҐЄІЇ;:́`’\-\'0-9 ]+\b|\b^[A-Z-:;\'0-9 ]+\b',
                                self.full_dict, re.M):
            word = re.sub(r'[^\w\-;:\']', '', match.group())
            if (match.group() in self.index_dict.keys()):
                self.index_dict[word+'_2'] = (match.span())
            else:
                
                self.index_dict[word] = (match.span())
        for line in self.index_dict.keys():
            self.pref_tree.insert(line)
Це частина класу. Перебираються наявні в налаштуваннях шляхи до словників,
створюється один великий словник(Python-словник) із одного або кількох словників, завантажених із файлів txt,
потім з Python-словника створюється словник із індексами(слово: його положення у великому словнику).
А в кінці йде сортування слів із словника з індексами по префіксному дереву.
Питання: як оптимізувати цей процес, щоб зробити його швидшим?
Помітив, що коли завантажую багато словників програма запускається впродовж декількох секунд.
З іншого боку, Goldendict, що має більше активних словників завантажується майже миттєво,
але його завантаження якось пов'язане з кешем. Бо коли чищу його, Goldendict теж починає вантажитися
впродовж кількох секунд, наново завантажує активні словники.