[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #44156] Don't update GUI Variable Browser Wind
From: |
Rik |
Subject: |
[Octave-bug-tracker] [bug #44156] Don't update GUI Variable Browser Window unless at top-level for performance |
Date: |
Wed, 04 Mar 2015 21:23:41 +0000 |
User-agent: |
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 |
Follow-up Comment #2, bug #44156 (project octave):
@John: I love it, you're starting to sound human like the rest of us. I have
about 40 patches sitting in my Mercurial patch queues, and then another few
locations where I just have diffs. I have trouble locating things all the
time.
It was in an e-mail to Octave-Maintainers quoted below.
I ran
t0 = cputime (); __run_test_suite__; t1 = cputime (); t1 - t0
for a recent build of Octave from the default branch, compiled with default
options (Debian system, GCC 4.9.1 -O2). The results (also with
graphics_toolkit fltk since the GUI was crashing with qt plotting):
GUI: 158 sec
CLI: 111 sec
Then I made this change to disable storing symbol table info and updating the
workspace viewer unless at the top level:
diff --git a/libgui/src/octave-qt-link.cc b/libgui/src/octave-qt-link.cc
--- a/libgui/src/octave-qt-link.cc
+++ b/libgui/src/octave-qt-link.cc
@@ -363,6 +363,9 @@
octave_qt_link::do_set_workspace (bool top_level,
const std::list<workspace_element>& ws)
{
+ if (! top_level)
+ return;
+
QString scopes;
QStringList symbols;
QStringList class_names;
With this change I see the following results:
GUI: 126 sec
CLI: 110 sec
It looks to me like updating the workspace view accounts for a large part of
the performance drop. I don't know that we can eliminate all of it because
the GUI simply has to do more to keep track of the state of the interpreter.
But we can always try to keep doing better.
Maybe as a first step, we should disable the workspace view update when not at
the top level. Displaying the workspace info for functions could be made
optional, but disabled by default.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?44156>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/