On 4 October 2017 at 20:44, oldk1331 <[email protected]> wrote:
> On Thu, Oct 5, 2017 at 8:32 AM, Bill Page <[email protected]> wrote:
>> On 4 October 2017 at 19:38, oldk1331 <[email protected]> wrote:
>>> Waldek, Bill, yes, for correctness we need to distinguish
>>> the inner domain and outer domain, and it's easy to
>>> have a GENSYM() for each Maybe domain.
>>>
>>> But that will hurt performance.
>>>
>>
>> Why will this hurt performance?
>
> Instead of a direct reference to a global symbol, it will
> perform a look up (QREFELT $ 7).
>

How does this compare to the cost of testing case "failed" in the old
Union(R,"failed") representation?

>>> I think current situation is a good compromise. We can
>>> say in documentation that all instances of Maybe share
>>> a common value of failed(), and nested usage of Maybe
>>> is not recommended, Maybe should not be used as Rep
>>> itself but can be part of Rep.  Do you agree?
>>>
>>
>> I value correctness much more than performance except in the most
>> extreme and special cases.
>
> I would say Maybe is a special case, there are over 3700 occurrence
> of "failed" alone in *.spad.
>

The number of occurrences is mostly irrelevant. The issue is how many
times is this lookup performed in a given given benchmark situation. I
would grant that the number of times is probably quite high in certain
types of computation. But would the new representation really be
slower than the old one?

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to