octave-bug-tracker
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]