gdb output window performance
jens.dagerbo at gmail.com
Wed Apr 12 17:00:13 UTC 2006
I'm running to a bus in 2 minutes, but..
Try QTextEdit in "logtext" mode. I'm sure you will find it much faster.
On 4/12/06, Vladimir Prus <ghost at cs.msu.su> wrote:
> over on MI branch, I'm rewamping variable tree handling and doing some
> profiling along the way. Surprisingly, it seems like gdb window is the
> slowest part.
> On MI branch, it's possible to select if "internal" commands are logged to gdb
> window, or not. With logging turned off, refetch of variable values after
> step takes something line 100 ms, which is acceptable. With logging turned
> on, refetch takes nearly 600 ms, which is beyond any reasonable expectation.
> The logging in implemented in languages/cpp/debugger/gdboutputwidget.cpp as is
> nothing fancy:
> void GDBOutputWidget::showStdout(const char* line)
> if (strncmp(line, "(gdb) ", 5) == 0)
> m_gdbView->append(QString("<font color=\"blue\">")
> .append( html_escape(line) ).append("</font>") );
> m_gdbView->append( html_escape(line) );
> // m_gdbView->scrollToBottom();
> The call to 'scrollToBottom' was commented just now, and has no apparanent
> effect on performance. The 'm_gdbView' is QTextEdit. Before I go and write my
> own GdbLogginWidgetImplementedAsQScrollArea, maybe somebody knows any
> possible reason why QTextEdit is that slow?
> - Volodya
> KDevelop-devel mailing list
> KDevelop-devel at barney.cs.uni-potsdam.de
More information about the KDevelop-devel