Я думаю, что самым простым способом было бы найти вхождения if (!PyType_HasFeature(type, Py_TPFLAGS_HAVE_VERSION_TAG))
в typeobject.c и заменить !PyType_HasFeature(type, Py_TPFLAGS_HAVE_VERSION_TAG)
на 0. Я думаю, что вам нужно изменить 3 строки.
Затем отредактируйте макрос #define MCACHE_CACHEABLE_NAME(name)
в верхней части файла, чтобы он всегда был ложным.
Тогда просто перекомпилируйте Python и кеш методов исчезнет. Внесения любого из этих изменений было бы достаточно, чтобы остановить работу кэша, но я думаю, что, посмотрев на код, вы захотите, чтобы оба этих компонента перестали выполнять ненужную работу по поддержанию неиспользуемого кэша.
Мой вопрос, однако, заключается в том, что если вы пытаетесь заменить его чем-то другим, то, конечно же, вы все равно работаете над этим кодом, поэтому разве вы не должны просто сначала удалить весь существующий код кэша методов, чтобы дать себе возможность начать все сначала? 1008 *