#14615: cythonize lazy_atrtibute
-------------------------------+--------------------------------------------
       Reporter:  nbruin       |         Owner:  tbd      
           Type:  enhancement  |        Status:  new      
       Priority:  major        |     Milestone:  sage-5.10
      Component:  performance  |    Resolution:           
       Keywords:               |   Work issues:           
Report Upstream:  N/A          |     Reviewers:           
        Authors:               |     Merged in:           
   Dependencies:               |      Stopgaps:           
-------------------------------+--------------------------------------------
Description changed by nbruin:

Old description:

> cythonize `lazy_attribute` so that it provides acceptable performance on
> cython classes that don't have a `__dict__` but do have a
> `__cached_methods` dictionary.

New description:

 cythonize `lazy_attribute` so that it provides acceptable performance on
 cython classes that don't have a `__dict__` but do have a
 `__cached_methods` dictionary.

 In the current design, we let `lazy_attribute` inherit from a `cdef class`
 `_lazy_attribute` that implements all the time-critical stuff (including a
 `cdef` slot for `__name__`). `lazy_attribute is a conventional class so
 that we can override documentation and module on it, which was previously
 done for introspection reasons. This inheritance construction seems to
 have minimal runtime consequences.

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14615#comment:2>
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to