문자열 키가 있지만 값의 일종의 개체가있는 사전에 대한 Bytes Array에 대한 serializer를 작성했습니다.vb.net - 함수에 제네릭 형식 및 대리자를 구현할 경우 성능에 영향이 있습니다.
함수에 제네릭 형식을 구현 한 적이 없거나 이전에 대리자를 사용한 적이 없기 때문에 특정 형식의 사전에 대한 serialization 함수를 작성하는 것보다 훨씬 느린 것에 대해 조금 염려합니다 (Dictionary (Of String, MyClass) 예).
제네릭 형식 또는 대리인을 사용하기 때문에이 코드가 상당히 느려야합니까? 여기
Public Delegate Function Serializer(Of T)(ByRef Obj As T) As Byte()
Function SerializeDictionary_String_Object(Of T)(ByRef D As Dictionary(Of String, T), ByVal S As Serializer(Of T)) As Byte()
Dim OBJ As T
For Each X In D
OBJ = X.Value
Exit For
Next
Return S(OBJ)
End Function
이 사용하는 일부 코드입니다 :
SerializeDictionary_String_Object(Of MyClass)(MyDictionary, AddressOf MyClass.Serialize)
그것은 작동하고, 내가 루프를 할 수 있었던 더 정적 사전 시리얼 라이저와 비교,하지만 사용하기 시작할 때 내가 더 걱정 해요 이것은 다른 String/Object 사전 조합을 많이 사용하기 때문에 정적 사전 serializer를 많이 작성하는 데 시간이 오래 걸릴 것입니다. (처음에 피할 수 있기를 바랍니다)
편집 : 단순화 인트로 텍스트
BinaryFormatter 클래스는보다 느린 일반 스타일의 직렬화를 사용한다는 것을 알고 있습니다. 답변 해주셔서 감사합니다! –