Mercurial > hg > octave-lojdl
changeset 9609:599e92aaa4c0
update NEWS
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Thu, 03 Sep 2009 16:19:08 +0200 |
parents | 1c76e806c2a7 |
children | bb36a5730ecc |
files | ChangeLog NEWS |
diffstat | 2 files changed, 35 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2009-09-03 Jaroslav Hajek <highegg@gmail.com> + + * NEWS: Update. + 2009-09-02 Jaroslav Hajek <highegg@gmail.com> * configure.in (FLOAT_TRUNCATE): New config macro.
--- a/NEWS +++ b/NEWS @@ -81,6 +81,37 @@ ** Octave now allows user-defined subsasgn methods to optimize out redundant copies. For more information, see the manual. + ** When evaluating nested expressions, Octave will now make some attempts to + reuse temporary arrays instead of allocating new one for each result. + For instance, the expression + + -(2*a + b) + + where a and b are arrays, will now be done like this: + + allocate c + for all i: c(i) = 2*a(i) + for all i: c(i) = c(i) + b(i) + for all i: c(i) = -c(i) + c is the result + + previously, a new temporary was allocated for each intermediary result + + allocate c + for all i: c(i) = 2*a(i) + allocate d + for all i: d(i) = c(i) + b(i) + deallocate c + allocate e + for all i: e(i) = -d(i) + deallocate d + e is the result + + This will result in memory saving and less allocations, as well as a modest + performance improvement on most platforms. + Currently, only temporaries on the left-hand side of the operator can be reused, + as well as temporaries subject to unary operators - and !. + Summary of important user-visible changes for version 3.2: ---------------------------------------------------------