add heim_ipc_async.defs
[heimdal.git] / lib / asn1 / README.template
blob874c8fb0b8f0e679eca80d31c900c9ca0b927bdb
1 #!/bin/sh
3 size .libs/libasn1.dylib
4 size .libs/libasn1base.a | awk '{sum += $1} END {print sum}' | sed 's/^/TEXT baselib: /'
5 size .libs/asn1_*.o | awk '{sum += $1} END {print sum}' | sed 's/^/generated code stubs: /'
6 size *_asn1-template.o | awk '{sum += $1} END {print sum}' | sed 's/^/TEXT stubs: /'
8 exit 0
10 Notes about the template parser:
12 - assumption: code is large, tables smaller
14 - how to generate template based stubs:
16 make check asn1_compile_FLAGS=--template > log
18 - pretty much the same as the generate code, except uses tables instead of code
20 TODO:
21 - Make hdb work
23 - Fuzzing tests
25 - Performance testing
27 - ASN1_MALLOC_ENCODE() as a function, replaces encode_ and length_
29 - Fix SIZE constraits
31 - Compact types that only contain on entry to not having a header.
34 SIZE - Futher down is later generations of the template parser
36 code:
37 ==================
38 __TEXT __DATA __OBJC others dec hex
39 462848 12288 0 323584 798720 c3000 (O2)
41 trivial types:
42 ==================
43 __TEXT __DATA __OBJC others dec hex
44 446464 12288 0 323584 782336 bf000 (O2)
46 OPTIONAL
47 ==================
48 __TEXT __DATA __OBJC others dec hex
49 425984 16384 0 323584 765952 bb000 (O2)
51 SEQ OF
52 ==================
53 __TEXT __DATA __OBJC others dec hex
54 368640 32768 0 327680 729088 b2000 (O2)
55 348160 32768 0 327680 708608 ad000 (Os)
57 BOOLEAN
58 ==================
59 339968 32768 0 327680 700416 ab000 (Os)
61 TYPE_EXTERNAL:
62 ==================
63 331776 32768 0 327680 692224 a9000 (Os)
65 SET OF
66 ==================
67 327680 32768 0 327680 688128 a8000 (Os)
69 TYPE_EXTERNAL everywhere
70 ==================
71 __TEXT __DATA __OBJC others dec hex
72 167936 69632 0 327680 565248 8a000 (Os)
74 TAG uses ->ptr (header and trailer)
75 ==================
76 229376 102400 0 421888 753664 b8000 (O0)
78 TAG uses ->ptr (header only)
79 ==================
80 221184 77824 0 421888 720896 b0000 (O0)
82 BER support for octet string (not working)
83 ==================
84 180224 73728 0 417792 671744 a4000 (O2)
86 CHOICE and BIT STRING missign
87 ==================
88 __TEXT __DATA __OBJC others dec hex
89 172032 73728 0 417792 663552 a2000 (Os)
91 No accessor functions to global variable
92 ==================
93 __TEXT __DATA __OBJC others dec hex
94 159744 73728 0 393216 626688 99000 (Os)
96 All types tables (except choice) (id still objects)
97 ==================
98 __TEXT __DATA __OBJC others dec hex
99 167936 77824 0 421888 667648 a3000
100 base lib: 22820
102 __TEXT __DATA __OBJC others dec hex
103 ==================
104 167936 77824 0 421888 667648 a3000 (Os)
105 baselib: 22820
106 generated code stubs: 41472
107 TEXT stubs: 112560
109 All types, id still objects
110 ==================
111 __TEXT __DATA __OBJC others dec hex
112 155648 81920 0 430080 667648 a3000 (Os)
113 TEXT baselib: 23166
114 generated code stubs: 20796
115 TEXT stubs: 119891
117 All types, id still objects, dup compression
118 ==================
119 __TEXT __DATA __OBJC others dec hex
120 143360 65536 0 376832 585728 8f000 (Os)
121 TEXT baselib: 23166
122 generated code stubs: 20796
123 TEXT stubs: 107147
125 All types, dup compression, id vars
126 ==================
127 __TEXT __DATA __OBJC others dec hex
128 131072 65536 0 352256 548864 86000
129 TEXT baselib: 23166
130 generated code stubs: 7536
131 TEXT stubs: 107147