bugGNU Octave - Bugs: bug #50105, __ilu__ and __ichol__ should use...

 
 

bug #50105: __ilu__ and __ichol__ should use liboctave functions instead of feval

Submitted by:  John W. Eaton <jwe>
Submitted on:  Fri 20 Jan 2017 07:05:46 PM UTC  
 
Category: Octave FunctionSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Performance
Status: FixedAssigned to: Kai Torben Ohlhus <siko1056>
Originator Name: jweOpen/Closed: Closed
Release: devOperating System: Any

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Fri 27 Jan 2017 03:41:55 PM UTC, comment #3:

Done: http://hg.savannah.gnu.org/hgweb/octave/rev/d44537a50f4b.

Kai Torben Ohlhus <siko1056>
Project MemberIn charge of this item.
Sun 22 Jan 2017 09:44:09 PM UTC, comment #2:

As co-author of the functions, I take care of this problem and apply a patch to default in a few days. It does not cause problems, but might shorten the running time, so I don't assume stable to be the right place.

Kai Torben Ohlhus <siko1056>
Project MemberIn charge of this item.
Sat 21 Jan 2017 11:09:12 PM UTC, comment #1:

Amen to that. For reference, here are the function invocations in question.

Also, see bug #50116 where feval should be replaced with direct calls to C++ functions in libinterp using the Fname_of_function syntax.

Rik <rik5>
Project Administrator
Fri 20 Jan 2017 07:05:46 PM UTC, original submission:

In _ilu_.cc and _ichol_.cc, there are many calls to feval to execute the functions tril, triu, speye, and norm that should use liboctave functions directly.

Using feval for this is inefficient since it may involve the interpreter and always involves unnecessary conversion to/from octave_value objects.

For norm, we already have functions in liboctave to do the job.

For speye, I think it should be possible to call the sparse matrix contructor to generate a sparse identity matrix. If not, then we could easily define an speye function in liboctave.

For tril and triu, we should probably move the templates from corefcn/tril.cc to liboctave and export them in a public header file.

John W. Eaton <jwe>
Project Administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by siko1056 (Posted a comment)
  • -unavailable- added by rik5 (Posted a comment)
  • -unavailable- added by jwe (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 6 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 27 Jan 2017 03:41:55 PM UTCsiko1056StatusIn Progress=>Fixed
      Open/ClosedOpen=>Closed
    Sun 22 Jan 2017 09:44:09 PM UTCsiko1056StatusConfirmed=>In Progress
      Assigned toNone=>siko1056
    Sat 21 Jan 2017 11:09:12 PM UTCrik5StatusNone=>Confirmed
      Operating SystemBSD=>Any

    Back to the top


    Powered by Savane 3.1-cleanup1