A The main block is a fragment of an assembly with only one entry point and one exit point (the link on Wikipedia also has a more strict definition). Many attempts to optimize the compiler rely on the compiler to break the user code into basic blocks before giving them the optimizer.
I am curious to know what non-local effects can affect the performance of the base unit itself. By non-local effects, I mean how code outside the base unit is run before it can affect its operating time, or how code placed in memory can affect it. This is a bit more restrictive than worrying about the performance of arbitrary programs with loops, branches, etc.
At the top of the cache of my chapter, other parts of the program are used, both the memory cache and the command, seem to be the biggest possible non-local effect. Also, the status of the pipeline settings according to previously executed instructions or earlier instructions that are in flight. I'm only interested in x86 / x86-64, but the impact on other architectures seems to be worth knowing too. Are there other nonlocal effects?
source share