Re: [PATCH] rearrange struct value to save memory

Yao Qi
2014-01-10T03:32:35Z

On 01/10/2014 03:03 AM, Tom Tromey wrote:
> This patch rearranges struct value a tiny bit, moving the "regnum"
> field into a hole. This saves 8 bytes per value on a 64-bit machine,
> and 4 bytes per value on a 32 bit machine. I think it does not
> negatively affect readability or performance.
>
> Built and regtested on x86-64 Fedora 18.
>
> Let me know what you think.
>

Hi, Tom,
It does save some memory shown by the result of 'make perf-check' on
an amd64-linux box. I don't see any time performance regression
in the test. It is indeed a good improvement!

Original Patched
backtrace vmsize 2 55108 54316
backtrace vmsize 4 55108 52432
backtrace vmsize 8 53124 51512
backtrace vmsize 16 53124 51512
backtrace vmsize 32 53124 51512
backtrace vmsize 64 53124 51512
backtrace vmsize 128 53124 51512
backtrace vmsize 256 53124 51512
backtrace vmsize 512 53124 51512
backtrace vmsize 1024 53124 51512
backtrace vmsize 2048 53124 51512
disassemble vmsize 0 66740 66732
disassemble vmsize 1 66740 66732
disassemble vmsize 2 66740 66732
single-step vmsize 10000 50388 50384
single-step vmsize 20000 50652 50648
single-step vmsize 30000 51048 51044
single-step vmsize 40000 51312 51308
skip-prologue vmsize 1 50104 50100
skip-prologue vmsize 2 50104 50100
skip-prologue vmsize 3 50104 50100
solib_load vmsize 8 64968 64960
solib_load vmsize 16 64968 64960
solib_load vmsize 32 64968 64960
solib_load vmsize 64 64968 64960
solib_load vmsize 128 64968 64960
solib_unload vmsize 8 64972 64964
solib_unload vmsize 16 64972 64964
solib_unload vmsize 32 64972 64964
solib_unload vmsize 64 64972 64964
solib_unload vmsize 128 64972 64964

--
Yao (é½å°§)