Я стремлюсь к глубокому клонированию графов объектов в удобной форме. Я собираюсь создать несколько потоков, которые будут клонировать график очень быстро, чтобы они могли играть с каким-то состоянием и отбрасывать результаты, если они не интересны, возвращаясь к оригиналу, чтобы повторить попытку.
В настоящее время я использую глубокий клон через двоичную сериализацию, которая хотя и работает, но не удивительно быстро. Я видел другие библиотеки, такие как protobuf, но классы в моем графе объектов могут быть определены во внешних сборках, наследуясь от классов в основной сборке, и не хотят добавлять сложность в эти потребляющие сборки, если это возможно.
Одной из интересных вещей, с которыми я столкнулся, было клонирование с использованием автоматически сгенерированного IL . Кажется, он еще не закончен, и я написал, чтобы узнать, сделал ли автор что-то еще, но я думаю, нет. Кто-нибудь еще разработал или видел более полнофункциональный способ глубокого клонирования через IL? Или другой метод, который будет быстрым?