Ещё раз Спасибо за отличный доклад ) забыл вчера спросить классы на клиенте автогенерите же на основе схемы graphql?
ох там всё сложно, я как раз писала, что это проект-вдохновение, надо было на этом акцентироваться побольше, это не то, что было сделано в прод, мы боролись пока только с перфомансом и оптимизировали квери по максимуму + исправляли дичь типа мутабельных типов в дефолтах, история про классы и память следующий шаг. Чтобы понимать насколько всё плохо: одно из доп табу - нельзя было втаскивать графен, и работаем мы с graphql-core. У нас задача была исправить перфоманс и привести код в более менее приличное состояние - убрать асинки возле синхронных функций, deepcopy насовыванные везде где надо и где нет (там вначале вообще ад был с памятью, люди просто делали дип копи всех объектов в каждой функции часто даже перед манипуляциями с данными без изменений). В итоге мы перфоманс x100 раз просто за счет того, что там настолько херово всё было, что просто переписав код нормально всё стало быстрее, все асинк вызовы были вот так "for chto_tam in choto_tam: await chto_tam", внутри цепочки асинк методов где-то по середине мог быть вызов парсинга xml файла с диска, квери все были без использования фрагментов и у тебя есть 6 кверей которые юзают одну и ту же сущность с теми жи филдами, и они просто берут и дублируют этот кусок квери, размеры файлов с кверями были примерно такие же как весь код - 10-12 к строк где-то