artem78: первое чято бросается в глаза, это можно sorted([i for i in sieve if i >= M]), сделать так sorted(i for i in sieve if i >= M), так уже будет быстрее, второе зачем вам enumerate, если вы не где не использууете индекс в функции, уберите его и тоже пойдет быстрее.
Таким образом, можно перекрывать уже существующие методы, и если делать это косоруко, то можно все сломать.
Плюс вносит не явность в проект.
Такие вещи стоит делать в крайних ситуациях.
Гораздо лучше и правильнее отнаследоваться от класса, и описать новые методы. И использовать уже свой класс.
можно и над одним файлом дествия производить в разных потоках. Только стоит учитывать, что Process, не может обращаться к коннектам сверху, ему надо открывать коннект внутри потока.
Не называйте переменные зарезервированными именами и функциями.
И это не решение проблемы.
Банально проверьте, нет ли в проекте файла с названием json.py