2017-03-27 37 views
1
  1. 序列化標記爲DynamicType(輸出NetObjectProxy)的屬性是否有明顯的性能開銷?Protobuf-net性能問題

  2. 編譯RuntimeTypeModel到一個DLL會比在內存編譯通過RuntimeTypeModel.Compile()更好嗎?

  3. 手動撥打RuntimeTypeModel.Compile()有什麼好處嗎?

回答

1

1:你必須用自己的數據來檢驗,但可以肯定的是效率要低得多 - 在電線上更多的空間,很多事情要做(類型解析等) - 再加上它不能只是把一切都打到一個很好的簡單路徑

2:不在我的發現中;它確實減少了啓動時間,但關鍵這個功能的驅動程序是爲了允許AOT(儘管真正的AOT需要獨立的跨平臺目標,這有點尷尬)。我正在等待「Roslyn代碼生成器」(https://github.com/dotnet/roslyn/blob/master/docs/features/generators.md)以改進未來的AOT支持。

3:在某些情況下 - 是的;例如,您正在設置服務/服務器,並且您希望一切準備好在之前第一個流量進入,然後再次 - 這可以花費時間現在以避免稍後的輕微延遲;但是:默認情況下它編輯點播無論如何

+0

謝謝馬克,我真的很感激你的答案。 – MaitlandMarshall