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