patchGNU Octave - Patches: patch #8561, change inheritance tree of...

 
 

patch #8561: change inheritance tree of Array<bools>s and Array<char>s

Submitter:  Carnë Draug <carandraug>
Submitted:  Wed 29 Oct 2014 07:27:19 PM UTC
   
 
Category:  None Priority:  5 - Normal
Status:  Done Privacy:  Public
Assigned to:  carandraug Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Mon 10 Nov 2014 10:53:35 PM UTC, comment #5: 

I have pushed these changes. Let's see what what breaks first now :p

Carnë Draug <carandraug>
Group Member
Mon 10 Nov 2014 09:29:19 PM UTC, comment #4: 

It's not a sophisticated performance test, but I ran 'time make check' on the development branch with and without the inheritance patches.

Results:


Without patches
361.486u 40.490s 7:11.32 93.1%  0+0k 155976+23336io 636pf+0w
With patches
363.822u 39.538s 7:27.78 90.0%  0+0k 207528+23384io 631pf+0w


There was an increase of 0.3% in the running time (user + system) which is basically noise.  And all the tests in the test suite pass so I think it is okay to apply these patches.

Rik <rik5>
Group administrator
Fri 07 Nov 2014 07:54:09 PM UTC, comment #3: 

Since we're not dealing with any polymorphism, everything is being resolved at build time, I didn't thought it would cause any performance impact. And would you suggest I profile this?

I have attached the last cset (with two commits) that does the same for the other classes (double, Float, Complex, and FloatComplex). It also reduces a lot of duplicated (and I wouldn't be surprised if it is not possible to do more cleaning).

(file #32390)

Carnë Draug <carandraug>
Group Member
Wed 05 Nov 2014 04:24:33 AM UTC, comment #2: 

I think this generally makes sense.  One potential argument against would be performance.  Is there a good benchmark to use before and after your patch to check that nothing has changed?

Rik <rik5>
Group administrator
Mon 03 Nov 2014 10:20:52 PM UTC, comment #1: 

Another cset which removes some methods from the Matrix classes since these are now inherited from the parent class. I'll guess that this is done to the other XMatrix classes, more duplicated code will appear to be removed.


(file #32361)

Carnë Draug <carandraug>
Group Member
Wed 29 Oct 2014 07:27:19 PM UTC, original submission:  

As discussion on the mailing list, this patch changes the inheritance tree for boolMatrix and charMatrix so that they become subclasses of boolNDArray and charNDArray.

To start the change for the other xArray and xMatrix.

Carnë Draug <carandraug>
Group Member

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #32390:  rest_of_classes.cset added by carandraug (50KiB - application/octet-stream)
file #32361:  clean_redundant_methods.cset added by carandraug (3KiB - application/octet-stream)
file #32342:  arraystree.patch added by carandraug (16KiB - text/x-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by carandraug (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2014-11-10 carandraug StatusIn Progress Done
        Open/ClosedOpen Closed
    2014-11-10 rik5 StatusNone In Progress
        Assigned toNone carandraug
    2014-11-07 carandraug Attached File- Added rest_of_classes.cset, #32390
    2014-11-03 carandraug Attached File- Added clean_redundant_methods.cset, #32361
    2014-10-29 carandraug Attached File- Added arraystree.patch, #32342

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code