Home | History | Annotate | Line # | Download | only in asn1
      1 #!/bin/sh
      2 
      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: /'
      7 
      8 exit 0
      9 
     10 Notes about the template parser:
     11 
     12 - assumption: code is large, tables smaller
     13 
     14 - how to generate template based stubs:
     15 
     16 	make check asn1_compile_FLAGS=--template > log
     17 
     18 - pretty much the same as the generate code, except uses tables instead of code
     19 
     20 TODO:
     21 	- Make hdb work
     22 
     23 	- Fuzzing tests
     24 
     25 	- Performance testing
     26 
     27 	- ASN1_MALLOC_ENCODE() as a function, replaces encode_ and length_
     28 
     29 	- Fix SIZE constraits
     30 
     31 	- Compact types that only contain on entry to not having a header.
     32 
     33 
     34 SIZE - Futher down is later generations of the template parser
     35 
     36 	code:
     37 	==================
     38 	__TEXT	__DATA	__OBJC	others	dec	hex
     39 	462848	12288	0	323584	798720	c3000 (O2)
     40 
     41 	trivial types:
     42 	==================
     43 	__TEXT	__DATA	__OBJC	others	dec	hex
     44 	446464	12288	0	323584	782336	bf000 (O2)
     45 
     46 	OPTIONAL
     47 	==================
     48 	__TEXT	__DATA	__OBJC	others	dec	hex
     49 	425984	16384	0	323584	765952	bb000 (O2)
     50 
     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)
     56 
     57 	BOOLEAN
     58 	==================
     59 	339968	32768	0	327680	700416	ab000 (Os)
     60 
     61 	TYPE_EXTERNAL:
     62 	==================
     63 	331776	32768	0	327680	692224	a9000 (Os)
     64 
     65 	SET OF
     66 	==================
     67 	327680	32768	0	327680	688128	a8000 (Os)
     68 
     69 	TYPE_EXTERNAL everywhere
     70 	==================
     71 	__TEXT	__DATA	__OBJC	others	dec	hex
     72 	167936	69632	0	327680	565248	8a000 (Os)
     73 
     74 	TAG uses ->ptr (header and trailer)
     75 	==================
     76 	229376	102400	0	421888	753664	b8000 (O0)
     77 
     78 	TAG uses ->ptr (header only)
     79 	==================
     80 	221184	77824	0	421888	720896	b0000 (O0)
     81 
     82 	BER support for octet string (not working)
     83 	==================
     84 	180224	73728	0	417792	671744	a4000 (O2)
     85 
     86 	CHOICE and BIT STRING missign
     87 	==================
     88 	__TEXT	__DATA	__OBJC	others	dec	hex
     89 	172032	73728	0	417792	663552	a2000 (Os)
     90 
     91 	No accessor functions to global variable
     92 	==================
     93 	__TEXT	__DATA	__OBJC	others	dec	hex
     94 	159744	73728	0	393216	626688	99000 (Os)
     95 
     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
    101 
    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
    108 
    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
    116 
    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
    124 
    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
    132