[jira] Created: (MATH-317) Perf improvement: OpenMapRealVector should iterate over smaller of two OMRVs, and should call ArrayRealVector.getDataRef() when possible

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[jira] Created: (MATH-317) Perf improvement: OpenMapRealVector should iterate over smaller of two OMRVs, and should call ArrayRealVector.getDataRef() when possible

Gary D. Gregory (Jira)
Perf improvement: OpenMapRealVector should iterate over smaller of two OMRVs, and should call ArrayRealVector.getDataRef() when possible
----------------------------------------------------------------------------------------------------------------------------------------

                 Key: MATH-317
                 URL: https://issues.apache.org/jira/browse/MATH-317
             Project: Commons Math
          Issue Type: Improvement
    Affects Versions: 2.0
         Environment: all
            Reporter: Jake Mannix
            Priority: Minor
             Fix For: 2.1


In RealVector methods which take other RealVector parameters, OpenMapRealVector should check to see which vector has more entries, and iterate over the smaller of the two, when possible.  When the other vector is an ArrayRealVector, it should be explicitly cast to this, and getDataRef() should be called, to avoid an unnecessary and possibly large array copy.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply | Threaded
Open this post in threaded view
|

[jira] Updated: (MATH-317) Perf improvement: OpenMapRealVector should iterate over smaller of two OMRVs, and should call ArrayRealVector.getDataRef() when possible

Gary D. Gregory (Jira)

     [ https://issues.apache.org/jira/browse/MATH-317?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jake Mannix updated MATH-317:
-----------------------------

    Attachment: MATH-317.patch

Unit tests all pass, and as with MATH-316, this is an internal performance-only fix, so no new unit tests are added.

> Perf improvement: OpenMapRealVector should iterate over smaller of two OMRVs, and should call ArrayRealVector.getDataRef() when possible
> ----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MATH-317
>                 URL: https://issues.apache.org/jira/browse/MATH-317
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 2.0
>         Environment: all
>            Reporter: Jake Mannix
>            Priority: Minor
>             Fix For: 2.1
>
>         Attachments: MATH-317.patch
>
>
> In RealVector methods which take other RealVector parameters, OpenMapRealVector should check to see which vector has more entries, and iterate over the smaller of the two, when possible.  When the other vector is an ArrayRealVector, it should be explicitly cast to this, and getDataRef() should be called, to avoid an unnecessary and possibly large array copy.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply | Threaded
Open this post in threaded view
|

[jira] Resolved: (MATH-317) Perf improvement: OpenMapRealVector should iterate over smaller of two OMRVs, and should call ArrayRealVector.getDataRef() when possible

Gary D. Gregory (Jira)
In reply to this post by Gary D. Gregory (Jira)

     [ https://issues.apache.org/jira/browse/MATH-317?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Luc Maisonobe resolved MATH-317.
--------------------------------

    Resolution: Fixed

This was resolved in subversion repository as of r890159 by Bill Barker two weeks ago, using a slightly modified version of the patch.
Thanks for the patch.

> Perf improvement: OpenMapRealVector should iterate over smaller of two OMRVs, and should call ArrayRealVector.getDataRef() when possible
> ----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MATH-317
>                 URL: https://issues.apache.org/jira/browse/MATH-317
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 2.0
>         Environment: all
>            Reporter: Jake Mannix
>            Priority: Minor
>             Fix For: 2.1
>
>         Attachments: MATH-317.patch
>
>
> In RealVector methods which take other RealVector parameters, OpenMapRealVector should check to see which vector has more entries, and iterate over the smaller of the two, when possible.  When the other vector is an ArrayRealVector, it should be explicitly cast to this, and getDataRef() should be called, to avoid an unnecessary and possibly large array copy.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply | Threaded
Open this post in threaded view
|

[jira] Closed: (MATH-317) Perf improvement: OpenMapRealVector should iterate over smaller of two OMRVs, and should call ArrayRealVector.getDataRef() when possible

Gary D. Gregory (Jira)
In reply to this post by Gary D. Gregory (Jira)

     [ https://issues.apache.org/jira/browse/MATH-317?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Phil Steitz closed MATH-317.
----------------------------


> Perf improvement: OpenMapRealVector should iterate over smaller of two OMRVs, and should call ArrayRealVector.getDataRef() when possible
> ----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MATH-317
>                 URL: https://issues.apache.org/jira/browse/MATH-317
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 2.0
>         Environment: all
>            Reporter: Jake Mannix
>            Priority: Minor
>             Fix For: 2.1
>
>         Attachments: MATH-317.patch
>
>
> In RealVector methods which take other RealVector parameters, OpenMapRealVector should check to see which vector has more entries, and iterate over the smaller of the two, when possible.  When the other vector is an ArrayRealVector, it should be explicitly cast to this, and getDataRef() should be called, to avoid an unnecessary and possibly large array copy.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.