Source: Real-Time Innovations ( Gerardo Pardo-Castellote)
The presence of a bit indicating the endianess in the DHEADER causes serious inefficiencies in the serialization.
- When mutable encapsulation is used, the length of the member can be shared between the MemberHeader and the MemberSerialization in the case where the MemberSerialization starts with a length. This would be the case for strings and octet sequences. If the DHEADER did not have the EndianessBit then this optimization would also apply to the @appendable members which is a very common use-case.
- The processing of the Endianess bit (pack/unpack) and check takes CPU time. This would be avoided if the Endianess bit is not present.
The reason why the Endianess Bit was put was to support embedding serialized data inside other serialized data even if the pieces came from different endianess. This is not a common use-case. Supporting this edge case is not worth hurting the performance of the common case.
The proposal is to remove the Endianess Bit from the DHEADER.
Reported: DDS-XTypes 1.2 — Thu, 6 Sep 2018 02:10 GMT
Updated: Mon, 1 Apr 2019 17:40 GMT