-
-
Notifications
You must be signed in to change notification settings - Fork 759
Description
v2 includes string optimization(it is commented out in v1).
https://github.com/neuecc/MessagePack-CSharp/blob/260c05b3/src/MessagePack.UnityClient/Assets/Scripts/MessagePack/Resolvers/DynamicObjectResolver.cs#L1212
My latest work, MasterMemory uses a hook to string type.
It does interning all string value.
https://github.com/Cysharp/MasterMemory/blob/master/src/MasterMemory/Internal/InternStringResolver.cs#L28
But v2 implementation can not use this hack.
If we remove the String optimization, MicroBenchmark will lose performance.
But usually, String Encode / Decode should cost more than virtual calls.
It does not lose for real scenario(MicroBenchmark scenario may uses short string value, it is not realistic).
If remove string optimization, we can solve #504 easily.