Abstract:
With an increase in use of applications that require custom data to be moved across networks and devices, there is an increasing use of different serialization techniques. There are several serialization alternatives available for the developer to choose from such as JSON, Protocol Buffers, Flat Buffers, Cap n’ Proto, with each having different drawbacks and benefits. We analyze the performance of some of these libraries in different contexts that a developer may encounter, such as an application developed for edge computing, one providing services, following microservices architecture or data center applications. We also go through novel approaches that aim to solve a major overhead of serialisation that occurs during the transfer of custom data structures across the network. We present an analysis in different contexts and real world scenarios by tweaking some critical factors. The aim is to provide guidelines to the developer to make critical design decision before he starts developing his application.