Commits


Konstantin Varlamov authored and GitHub committed 2c53bb91396
C++ migration: use C++ serializer for communicating with the local store (#4116) After this PR is merged, the Objective-C serializers can be completely removed from the project. Also, this PR changes the `Message` class quite a bit; it's probably in its final form now. I did some performance testing locally and came to the conclusion that replacing Objective-C serializers with their C++ versions brings no performance downgrade; actually, there seems to be a very slight improvement. I tested writing large batches and reading large collections: * both are network-dominated; wall time is about twice longer than CPU time; * serialization represents a pretty small percentage of the total CPU time; * for writing, C++ serialization is a little more efficient, taking ~6% of total CPU time, compared to ~8% in the Objective-C version. I've seen similar results for reading. All integration tests pass, under Address Sanitizer as well.