I have an application written in C++ on Linux (Ubuntu 12.14), which decodes audio and finds the peak. This calculation is running on a background thread. From the main UI thread, I am calling the background thread several times. When this background thread runs, I see about 100% CPU utilization; that is, only the first core's usage goes 100%, and the remaining 3 cores are idle (quad core processor).
So is it good behavior for the application to utilize 100% CPU? I read some post which states, "Usually it's a good thing for a process to use 100% of the CPU. It means it finishes sooner."
Another statement I've read is, "75% to 100% cpu usage is not too bad if you're getting this under full load or when there's a major application running; however if this is a reading when idle or when you are not using the PC/laptop then this is a worry."