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

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

[Octave-bug-tracker] [bug #56752] Performance slowdown from version 3.2.


From: John W. Eaton
Subject: [Octave-bug-tracker] [bug #56752] Performance slowdown from version 3.2.4 through to current dev branch
Date: Fri, 16 Aug 2019 17:34:30 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0

Follow-up Comment #28, bug #56752 (project octave):

Rik, isn't the same non-const method called in both of these cases? 
Overloading on const should be about the value the method is called for, not
the return type.


octave_value_list ovl;

octave_value elem3 = ovl(3);  // succeeds
const octave_value elem5c = ovl(5); // exception because 5 is larger than
std::vector size??



DEFUN (foobar, args, , "")
{
  octave_value_list tmp;
  // These are OK, they resize.
  octave_value x = tmp(2);
  const octave_value y = tmp(2);
  int nargin = args.length ();
  if (nargin > 0)
    {
      // These fail, they don't resize and access beyond the end of the
array.
      octave_value x = args(nargin + 10);
      const octave_value y = args(nargin + 10);
    }
  return ovl ();
}



    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?56752>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

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