unless the name starts with a question mark (?) or at sign (@).
Reordering seems tricky to get a proper performance boost from, but also seems very useful, good luck with it...!
The /ORDER compiler option allows you to optimize your program's paging behavior by grouping a function together with the functions it calls. You can also group frequently called functions together. These techniques, known as swap tuning or paging optimization, increase the probability that a called function is in memory when it is needed and does not have to be paged from disk.
I've set "linker -> function order" to @$(ProjectDir)functionorder , and I've set the content of functionorder to this:
Lineend is unix-style, I guess it can read both windows-style (didn't check) and linux-style.
I don't really do this for optimization, it just doesn't make sense to me to NOT have main as the very first function.
Intel compiler also allows reordering data, and doing all reordering based on profiling information ( https://software.intel.com/en-us/node/696053 ). I don't think any c compiler allows aligning functions by 1024 bytes. Also, I kinda really need to align some global variables by 4096 bytes... This can wait though, doesn't matter. Fasm can do it.
Programming without tech support (or more experienced people) is impossible, I had no chance back in the day.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum