compare_functions on two functions across the -O1 and -O2 builds
Two tables of the eight comparison dimensions. Left, _percent_change: identity, pseudocode 272 to 272 code points, assembly 161 to 161, comments 0 to 0, calls 1 to 1, strings_names 1 to 1 and cfg 3 to 3 are unchanged, and references, 3 to 3, is unknown because an unnamed reference endpoint has no stable identity across two different artifacts, so the status is unknown. Right, _total: identity, comments and calls are unchanged, while pseudocode grows from 300 to 2904 code points, assembly from 336 to 1866, references from 4 to 13, strings_names from 2 to 11 and cfg from 5 to 16 basic blocks, so five dimensions are changed and the status is changed. A note says why the references row is unknown.
A · _PERCENT_CHANGE, -O1 AGAINST -O2
status unknown: 7 unchanged, 1 unknown
identity
digests equal
unchanged
pseudocode
272 to 272
unchanged
assembly
161 to 161
unchanged
comments
0 to 0
unchanged
calls
1 to 1
unchanged
references
3 to 3
unknown
strings_names
1 to 1
unchanged
cfg
3 to 3
unchanged
B · _TOTAL, -O1 AGAINST -O2
status changed, 5 of 8 dimensions
identity
digests equal
unchanged
pseudocode
300 to 2904
changed
assembly
336 to 1866
changed
comments
0 to 0
unchanged
calls
1 to 1
unchanged
references
4 to 13
changed
strings_names
2 to 11
changed
cfg
5 to 16
changed
Counts are code points for the two text dimensions and items for the others.
The dashed row is unknown: unnamed reference endpoints have no identity across two artifacts.