gdb output window performance

Jens Dagerbo 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.


// jens

On 4/12/06, Vladimir Prus <ghost at cs.msu.su> wrote:
>
> Hi,
> 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>") );
>        else
>           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
> http://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
>




More information about the KDevelop-devel mailing list