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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #49193] help slow because of makeinfo


From: Rik
Subject: [Octave-bug-tracker] [bug #49193] help slow because of makeinfo
Date: Mon, 26 Sep 2016 22:57:59 +0000 (UTC)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0

Follow-up Comment #2, bug #49193 (project octave):

There are no quick solutions here.  This has been a known irritant since
makeinfo switched to Perl.

In general, the opinion has been that documentation ('help xxx') and errors
('print_usage') are both slow paths that operate on human time scales.  In
this case, hundreds of milliseconds is an acceptable delay.  If this were
somehow in the core of frequently called loops, like BLAS operations, we would
make a different optimization decision.

At least on my machine, the first example isn't nearly so slow as your machine
even with Perl.


octave:1> [text, format] = get_help_text ("lastwarn");
octave:2> tic; __makeinfo__ (text, "plain text");toc
Elapsed time is 0.19404 seconds.


Mike suggested that there is possible work that could be done on a
documentation cache for "plain text".  That is true, but it might not be worth
the programmer time.  If I assume the feature takes 10 hours to architect,
implement, and debug, and I also assume that you are able to shave 1 second
off the execution time, then for an individual they would not recoup the time
spent on implementing the feature until they had called help 36,000 times. 
That's pretty hard to justify.  Of course, you would be helping other people
enjoy Octave more so one could make an altruistic argument for implementing
the feature, just not a personal one. 


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?49193>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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