To achieve significant performance gains by using a multi-core approach, you have to be able to offload a significant proportion of your code base, otherwise it just isn’t worth it.
Consider the case where only 10% of a code-base is offloaded (or run in parallel). At best you will only reduce the run-time of the entire code base to 90% of what it was - but if you can offload 75% of the code base, then you reduce the run-time of the entire code base by a factor of 4.
The challenge, then, is to find enough code to offload to make the exercise fruitful – which is where the Codeplay Code Profiler comes in. The Profiler will show a picture of the code that allows the programmer to decide which elements of code are run for long enough to make it worthwhile setting up the transfer of the code to another core.
When you have millions of lines of code to analyse, you can’t do it by hand – a tool is essential.
What do I do now?
Codeplay's code profiler is used in conjuction with the Sieve System, specifically for profiling multi-core enabled code. If you are interested in this or any of the other components the Sieve then please get in touch to discuss your needs.