Looking at `ArrayValueProp* family of benchmarks, I'm unclear about their purpose. The description says:
// This test checks performance of creating array from literal and array value
// propagation.
// It is reported to be slow: <rdar://problem/17297449>
Could somebody please tell me what was that bug about?
I'm a bit suspicious of the fact that all 4 variants are written as calls to corresponding addLiteralArray*
function, but in the optimized mode (-O
) these functions are all constant folded to just return single Int
value and main benchmarking loops degenerate to 10_000 method calls and integer additions. Is this what is meant by "array value propagation"?