objc data structure design

Ziemowit Laski zlaski@apple.com
Tue Dec 7 01:45:00 GMT 2004


And here are the C numbers:

Without patch:
20041206 usr SimpleText_COMPILATION 34.52(0.05)
20041206 usr SimpleText_SIZE 150972
-rw-rw-r--   1 zlaski  admin  18494852 Dec  6 17:21 c

With patch:
20041206 usr SimpleText_COMPILATION 34.68(0.35)
20041206 usr SimpleText_SIZE 150972
-rw-rw-r--   1 zlaski  admin  18494852 Dec  6 17:35 c

(The PCH was constructed separately from a header containing just 
'#include <Carbon/Carbon.h>'.)

So, we have a 0.5% compile-time regression, with no increase in PCH.

Since all these numbers are below the 1% threshhold, I shall offer the 
patch below on gcc-patches shortly.

--Zem

On 3 Dec 2004, at 21.25, Ziemowit Laski wrote:

> OK, I finally managed to get the C++ numbers Geoff requested; sorry it 
> took so long.
>
> Without patch:
> 20041203 usr FinderFE_COMPILATION 895.07(1.63)
> 20041203 usr FinderFE_SIZE 73695552
> PCH: -rw-rw-r--    1 zlaski  admin  46080420 Dec  3 15:25 c++
>
> With patch:
> 20041203 usr FinderFE_COMPILATION 897.43(9.76)
> 20041203 usr FinderFE_SIZE 73695552
> PCH: -rw-rw-r--    1 zlaski  admin  46080420 Dec  3 18:01 c++
>
> So, compile time regressed by 0.3%, with no increase in PCH size.   
> This was done
> on a 500 MHz G4 Power Mac, should anyone care.
>
> I shall now do the C measurements. Stay tuned.
>
> --Zem
>
>> Index: c-tree.h
>> ===================================================================
>> RCS file: /cvs/gcc/gcc/gcc/c-tree.h,v
>> retrieving revision 1.187
>> diff -u -p -u -p -r1.187 c-tree.h
>> --- c-tree.h    11 Nov 2004 23:13:10 -0000      1.187
>> +++ c-tree.h    23 Nov 2004 18:54:26 -0000
>> @@ -73,6 +73,8 @@ struct lang_type GTY(())
>>    /* In an ENUMERAL_TYPE, the min and max values.  */
>>    tree enum_min;
>>    tree enum_max;
>> +  /* In a RECORD_TYPE, <insert proper comment here>.  */
>> +  tree objc_protocol;
>>  };
>>
>>  /* Record whether a type or decl was written with nonconstant size.
>> Index: cp/cp-tree.h
>> ===================================================================
>> RCS file: /cvs/gcc/gcc/gcc/cp/cp-tree.h,v
>> retrieving revision 1.1070
>> diff -u -p -u -p -r1.1070 cp-tree.h
>> --- cp/cp-tree.h        10 Nov 2004 17:34:47 -0000      1.1070
>> +++ cp/cp-tree.h        23 Nov 2004 18:54:28 -0000
>> @@ -1060,6 +1060,9 @@ struct lang_type_class GTY(())
>>    tree decl_list;
>>    tree template_info;
>>    tree befriending_classes;
>> +
>> +  /* <insert proper comment here>.  */
>> +  tree objc_protocol;
>>  };
>>
>>  struct lang_type_ptrmem GTY(())
>



More information about the Gcc mailing list