0

I have a multi-threaded programs. We use an own implementation of the thread pool. First, the load of the project is enough. compred to single thread, the program of two threads is more faster.

When we increase the number of threads, greater than 2, performance begins terrible. Obviously, we encountered a multi-threaded performance issues.

Then, we started using Intel® VTune ™ Amplifier XE 2017 Performance analysis, we put this tool integrated into the VS2013. Then a surprising thing happened when I click on the star button of Intel® VTune ™ Amplifier XE , the project begins to run, plug collects Data . We find that when we start this project through the plug-in, with the increase in the number of threads, the performance becomes higher, the running time is shortened. We can open up to 20 threads. And time is shortened 20 times

So, we want to know, can Intel® VTune ™ Amplifier XE 2017 change the operation mode of multithreaded programs ? Why does this happen. I have been troubled by this problem for a long time.

ballontt
  • 11
  • 1
  • Under which analysis type do you see application performance increase? For analysis of threading issues use Concurrency or Locks and Waits. – Vital Oct 15 '16 at 18:54
  • Aren't you running your application on mobile platform (e.g. laptop)? – Vital Oct 16 '16 at 07:03
  • My project just can run on windows.It is a win console application.Yeah,all analysis type show that performance increase. all is almost perfect.no locks and waits,few contexts switch,few core cross,CPU is maked full use.We aslo use concurrency visualizer of Microsoft.The same thing happened. Even I use clock() function to recore time,the time is shortened! – ballontt Oct 19 '16 at 02:45
  • If you're running on mobile platform, the CPU can operate at higher frequency under monitoring. VTune can show CPU Frequency e.g. in Advanced Hotspots (look on Platform tab). You can also play with the power settings of your platform to run in the most performance mode. – Vital Oct 20 '16 at 09:29

1 Answers1

1

Finally,I resolve this question.The answer is simple.The cause of problem is that I run the program with debugging.If I redirectly run the *.exe,the perfomance is well.There is no relationship to VTune,just beacause VTune directly start with calling *.exe.

ballontt
  • 11
  • 1