Conversation
6fb3660 to
b659f5b
Compare
a97ec28 to
fd15b32
Compare
87114b1 to
56b592c
Compare
0f00177 to
5cf0011
Compare
85cc313 to
60352c2
Compare
|
Hey, thanks this looks great.
|
34b3ea6 to
20fc2e0
Compare
5e067df to
417cfa2
Compare
|
Thanks! It seems to affect performance positively. Our current benchmarks that use records are not running faster, since as far as I saw, they get inlined or constant-folded. But they also aren't slower. I came up with some examples that show how performance increases when the changes actually persist through compilation. The record-passing example program might seem a bit constructed, so I also added a matrix determinant example, hoping it's a bit more realistic to an actual program. Here are the results for doing 10 warmup runs and then 50 normal runs: record_passing
matrix_determinant
It seems to only have improvements on the LLVM backend, and I'm not sure why yet. I haven't tried to find examples with negative performance effects yet and will look into that as well. I've also removed the |
No description provided.