#15303: Coercion discovery fails to be transitive
-------------------------------------+-------------------------------------
       Reporter:  nbruin             |        Owner:
           Type:  defect             |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-5.13
      Component:  coercion           |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Simon King         |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/SimonKing/ticket/15303           |  f837cbee8f81c4946a92193c73e86449c53515d9
   Dependencies:  #14711             |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by nbruin):

 > - '''Important:''' Get timings for examples that should be most
 sensitive against slow-downs in coercion.

 Looking at what happens for number fields, I have the impression that
 `QQ._populate_coercion_lists_` is most frequently used to supply
 embeddings (I'm not getting many hits on direct calls to
 !register_embedding, see below)

 The only two classes I have been able to identify that actually install
 embeddings are numberfields (and not all of them) and
 !AbelianGroupWithValues_class

 So, assuming that the version check itself is lightning-fast (and why
 shouldn't it be?) I expect that negatively affected examples would have to
 do a lot of number field or !AbelianGroupWithValues creations interleaved
 with complicated coercion discovery that benefits a lot from knowing
 certain coercions do NOT exist.

 There's !AdditiveAbelianGroupWrapper which does an `_unset_coercions_used`
 together with a `register_embedding` (registering an "embedding" of the
 wrapper into the wrapped)

 There's also !UniversalCyclotomicField which registers an embedding into
 QQbar upon init, so that shouldn't really affect versioning.

--
Ticket URL: <http://trac.sagemath.org/ticket/15303#comment:16>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" 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 http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to