08/02/2023
Shakirahilky
Очень полезная фраза
Even for indirect calls, generally the compiler can purpose about the value of the pointer and de-virtualize the call, <a href=https://map-unib.ac.id/2021/09/08/sk-akreditasi-prodi-2020-2024/#comment-332793>https://map-unib.ac.id/2021/09/08/sk-akreditasi-prodi-2020-2024/#comment-332793</a> however that depends on profitable optimization elsewhere. What if tmp overlaps with something which isn’t even in the present perform? Intuitively, we would like the compiler to compare a bunch of bytes at the same time, however our current code doesn't specific that. Let’s apply this basic framework of giving a compiler optimizable code to work with to auto-vectorization. In observe, in lots of instances the resulting code would be equivalently optimizable. But there won’t be any indication within the source whether or not that is an optimizable case (the actual pointer is knowable at compile time) or a genuinely dynamic call. Perform pointers and dynamic dispatch stop inlining. It's because reminiscence layout is shared throughout all capabilities, so a perform cannot unilaterally dictate a more optimum illustration.