Title
High-performance ASN.1 compiler
Abstract
The tasks of encoding and decoding complex data structures for network transmission are more expensive in terms of processor time and memory usage than any other components of the protocol stack. We examined the performance of four network data representation standards: ASN.1 Basic Encoding Rules (BER) and Packed Encoding Rules (PER). We also compare our implementations for BER and PER against the Sun Microsystem's External Data Representation (XDR) and HP/Apollo's Network Data Representation (NDR). To help examine implementation issues, we designed the snacc ASN.1 compiler that produces compile-based (C and C++) and table-based encoders and decoders as well as type tables. The implementation issues investigated include compiled versus table-based encoding and decoding, implementation language (C/C++), buffering techniques and memory management. We found that the areas crucial to efficient encoder and decoder implementations are memory management, buffer management and the overall simplicity of the encoding rules. Table-based encoders and decoders typically have considerably smaller code size but perform less efficiently than their compiled counterparts. In contrast to popular belief, it is possible to implement ASN.1 BER and PER encoders and decoders that perform as well as their NDR and XDR counterparts.
Year
DOI
Venue
1994
10.1016/0140-3664(94)90003-5
Computer Communications
Keywords
Field
DocType
ndr,implementation issue,per encoders,network data representations,memory usage,implementation language,memory management,snacc asn,per,high-performance asn,table-based encoders,buffer management,decoder implementation,ber,xdr,encoding rule,asn.1 compiler
External Data Representation,Computer science,Parallel computing,Compiler,Real-time computing,Memory management,Encoder,Packed Encoding Rules,Decoding methods,Protocol stack,Encoding (memory)
Journal
Volume
Issue
ISSN
17
3
Computer Communications
Citations 
PageRank 
References 
3
0.51
16
Authors
2
Name
Order
Citations
PageRank
Michael Sample1142.70
Gerald Neufeld239480.81