повторное исполнение;Protobuf-net предназначен для того, чтобы выполнить это отражение как можно меньше, создав после этого эффективный код доступа к данным.В версии v2 это намного дальше во многих отношениях - использование много низкоуровневого метапрограммирования и , если хотите (полностью необязательно), предварительная генерация автономного сериализатораdll - поэтому во время выполнения стоимость отражения находится где-то между минимальной (при использовании метапрограммирования во время выполнения) до нуля (при использовании предварительной генерации).
Re release;"когда он будет готов";жизнь сумасшедшая суета, но альфа-dll доступна как для полного .NET, так и для iPhone (последний, вероятно, будет работать на большинстве более легких сред выполнения, поскольку iPhone является наиболее ограничительным).В конечном счете, реальность такова, что (как без спонсоров и т. Д.) Она будет немного отставать от таких вещей, как работа и семья - хотя я пытаюсь найти время, когда могу.
Я думаю, что более разумное сравнение - это цели ;Protobuf-net разработан так, чтобы его можно было легко установить на существующую модель DTO или предметной области, без значительных переделок, или для использования в сценарии с первым кодом.Он также поддерживает генерацию из .proto, но это не является основной целью (но, конечно, очень желательно).Он также использует совершенно другой API, ориентированный на общие метафоры .NET, а не на общие метафоры protobuf. * 1013 *
Или, если выразиться иначе:
- protobuf-csharp-port ориентирован наprotobuf и добавляет C # / .NET к существующему ландшафту protobuf
- protobuf-net фокусируется на C # / .NET и добавляет protobuf к существующему ландшафту C # / .NET
Aтонкое различие, может быть - и даже любое из них создаст достойный API сериализации для .NET.
Как следствие, если ваша основная цель - взаимодействие между гетерогенными средами, над которыми вы активно работаете в одной команде, - тогда, возможно, protobuf-csharp-port лучше подходит для вас.
Я тоже немного ... "расстроен" с protobuf, поэтому у меня нет (ну, минимально) чувства вины, выходящего за рамки стандартной спецификации(оставаясь внутри определения протокола), чтобы включить в наследство, полные графы и т. д. - которые распространены в экосистеме .NET, но не имеют прямой карты в protobuf.И, конечно, я могу больше смотреть на такие инструменты, как WCF (и в меньшей степени: удаленное взаимодействие).