|
From: | Elias Mårtenson |
Subject: | Re: [Bug-apl] Fun With Benchmarks |
Date: | Mon, 24 Aug 2015 23:51:08 +0800 |
Hi,
the to_value() function is used for the general case of f/B where f is, for example,
a user-defined function, or B is nested.
In the special case where f is a built-in scalar function and B is simple, one can
compute f/B without using to_value() and by calling the corresponding Cell-level
function (for f) directly. This approach is already implemented for the inner and outer
products of built-in scalar functions, but not yet for reduction and scan.
If someone wants to fix this, please let me know. Otherwise I will look into it after my vacation.
/// Jürgen
On 08/23/2015 03:59 PM, Elias Mårtenson wrote:
On 23 August 2015 at 21:42, fred <address@hidden> wrote:
It strikes me that memoizing to_value may be useful. On second thought,
it wouldn't be that useful. But, to_value should be optimized. I'll
have a look (when I get cycles).
In this particular case the cell content are numbers, right? So every call to Cell::to_value() (most of the 66007104 of them) would be creating a new Value to hold it, yes? This would also be responsible for 66007104 Value_P destructor calls.
Regards,Elias
[Prev in Thread] | Current Thread | [Next in Thread] |