| ▲ | 14113 5 hours ago |
| It required a little bit of messing with optimisation settings and library generation in Rust, but they emit very very similar x86-64 assembly: https://godbolt.org/z/89W4srz4d |
|
| ▲ | steveklabnik 5 hours ago | parent [-] |
| Nice, thank you for picking up after my laziness. Surely only a few bytes different in the binary, and much, much smaller of a delta than the source. |
| |
| ▲ | aw1621107 3 hours ago | parent [-] | | You can further reduce the difference by passing Expr by pointer in the C version. At that point I think the only difference in the assembly is the order in which the cases are handed. | | |
| ▲ | steveklabnik 2 hours ago | parent [-] | | Ah yeah, honestly both should probably be passed by pointer anyway. But that makes me wonder about the actual differences here and why... maybe something fun to dig into. |
|
|