why are there some function calls being performed on some OSes but not on others? Or are some irrelevant enough that they are simply not being listed?
It's the latter. By default dprofpp will list only the top 15 function calls.
I normally wouldn't expect profiling results to be exactly the same across architectures for several reasons.
- Profiling results can vary from run to run as it is.
- The timings are based on user+system time. User time is the time spent in your code and system time is the time spent in the OS serving your code. When you open and read a file, for instance, the OS is doing that work, and the time it spends doing that counts as system time. Each OS might spend different amounts of time on the same calls based on differences between them.
- Each OS may have its own limits on how well it can measure time at all (i.e., precision, granularity). Compounded measurement errors could be skewing results.
- Without seeing the code, I don't know, but it's possible that there is some branching according to OS. I don't know why that would be the case for you, but it's certainly possible in general.