Proposed location for variable sizes etc in ARRAY_REF and COMPONENT_REF

Geert Bosch bosch@gnat.com
Wed Jun 23 23:56:00 GMT 2004


On Jun 23, 2004, at 16:14, Gerald Pfeifer wrote:
> On Tue, 22 Jun 2004, Andrew Pinski wrote:
>>> I plan to do tests with C and C++ by changing the accessor functions 
>>> to
>>> assume the extra fields are unset and of course removing those 
>>> fields.
>> Yes PR8361 but it is broken now by the patch anyways :(.
>
> I also was going to suggest PR8361. ;-)  Is anybody working on fixing
> this?

I just finished testing with this test case, and the differences in 
memory
usage are minimal. In fact, I have a hard time getting conclusive data
with -fmem-report. There seems 4k less allocated for size 16 and 16k 
more
for size 32. Final report give 122M versus 121M, but I can't tell the
exact difference due to the rounding, as even a few k could tip it from 
121
to 122. Strangely enough, the amount of memory still allocated at the
end of the compilation process is 160k *less*.

Anyway, with this test case there is not enough difference in memory 
usage
to make a difference. Any other test cases I should look at?

   -Geert

With extra fields for ARRAY_REF and COMPONENT_REF:
  {GC 105853k -> 105821k}Memory still allocated at the end of the 
compilation process
Size   Allocated        Used    Overhead
8           4096          32         120
16           908k        852k         19k
64            12M       8221k        203k
128           12M         11M        172k
256           32k         30k        448
512         4956k       4954k         67k
1024         192k        192k       2688
2048         124k        120k       1736
4096         112k        112k       1568
8192         128k        128k        896
16384        192k        192k        672
32768         64k         64k        112
65536        576k        576k        504
131072        384k        384k        168
262144        256k        256k         56
224           51M         46M        720k
48            19M         11M        315k
32          4424k       4143k         77k
80            14M         14M        202k
Total        122M        103M       1788k

Without extra fields:
  {GC 123795k -> 105981k}Memory still allocated at the end of the 
compilation process
Size   Allocated        Used    Overhead
8           4096          32         120
16           904k        852k         19k
64            12M       8221k        198k
128           12M         11M        172k
256           32k         30k        448
512         4960k       4954k         67k
1024         192k        192k       2688
2048         128k        120k       1792
4096         112k        112k       1568
8192         128k        128k        896
16384        192k        192k        672
32768         64k         64k        112
65536        576k        576k        504
131072        384k        384k        168
262144        256k        256k         56
224           51M         46M        717k
48            19M         11M        310k
32          4408k       4143k         77k
80            14M         13M        201k
Total        121M        103M       1774k



More information about the Gcc mailing list