ASN1C version 6.5 introduces the -perindef and -uper options for PER encoding.

The -perindef option is used to specify that indefinite (fragmented) lengths must be supported in the generated code.  Past versions of ASN1C added this support automatically, but it was observed that the performance overhead in supporting these lengths was significant and they were not used very often (PER messages tend to be small in practice).  By creating a separate option for their use, the standard case could be supported more efficiently.

The -uper option is used to indicate that only unaligned PER needs to be supported (the -per option allows both aligned and unaligned forms to be supported).  This removes generated code checks for alignment which adds efficiency to the unaligned case.