User forums > Using Code::Blocks

High CPU usage

<< < (8/11) > >>

thomas:
And luckily, Scintilla does not need to word wrap all the time, too. That's why I said the Scintilla bit is probably not an issue (unless some complains about the fan winding up when he presses keys).

Anyway, for the compiler, it seems to make sense, there is no noticeable difference when compiling a file, just the overall load is lower.

takeshimiya:
thomas: if you don't want to profile, I recommend you the freeware Sysinternal Process Explorer, it's like the Task Manager, but you can set the refresh time, you can see the CPU/MEM graphs per process, can see the stack or CPU for each thread, support multiple CPUs, etc.

I'm using it as a Task Manager replace.  :)

http://www.sysinternals.com/Utilities/ProcessExplorer.html

thomas:
This is great, thanks :)

I would love to profile all of my code, it is just so painful, especially since gprof is the only profiler I have on my hard drive :s  (I shall look into that LTProf during the weekend).

Can't someone write a one-click profiler plugin for Code::Blocks so my life is not that miserable? :lol:

Ceniza:

--- Quote from: thomas ---Can't someone write a one-click profiler plugin for Code::Blocks so my life is not that miserable?
--- End quote ---

What about the one being developed? link

I haven't tested it yet but if it's already usable and compiles without problems with Code::Blocks CVS I could provide it in the binary snapshots :)

mandrav:
Hi Thomas et al :)
I just wanted to say why the compiler's and debugger's input polling uses OnIdle().

If we remove the Has Input() from OnIdle() and move it to OnTimer(), everything might work fine for you but it breaks the non-windows builds (at least it used too). In non-windows platforms, any deviation from the current strategy, will lock the process being checked for input (and subsequently C::B). If I remember correctly from the tests I had performed back then to see what was wrong, it looked like the stream wouldn't correctly return eof...
If someone wishes to debug this, be my guest :P
The current way things are done, is the only way I could find to correctly launch a process and read its input/output without freezing.

Maybe by simply changing OnTimer() to check for valid process before calling wxWakeUpIdle(), could satisfy all sides...

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version