#11342: Make getattr faster on parents and elements
------------------------------+---------------------------------------------
   Reporter:  SimonKing       |          Owner:                        
       Type:  enhancement     |         Status:  needs_review          
   Priority:  major           |      Milestone:  sage-4.7.2            
  Component:  performance     |       Keywords:  getattr parent element
Work_issues:                  |       Upstream:  N/A                   
   Reviewer:  Jeroen Demeyer  |         Author:  Simon King            
     Merged:                  |   Dependencies:  #9944                 
------------------------------+---------------------------------------------

Comment(by vbraun):

 I'm still getting segfaults. Does `make ptest` complete for you? I get the
 following doctest errors
 {{{
         sage -t  -force_lib .7.2.alpha1/devel/sage/sage/rings/pari_ring.py
 # Killed/crashed
         sage -t  -force_lib
 .7.2.alpha1/devel/sage/sage/crypto/classical_cipher.py # Killed/crashed
         sage -t  -force_lib
 .7.2.alpha1/devel/sage/sage/algebras/quatalg/quaternion_algebra.py #
 Killed/crashed
         sage -t  -force_lib
 .7.2.alpha1/devel/sage/sage/modular/abvar/abvar.py # Killed/crashed
         sage -t  -force_lib
 .7.2.alpha1/devel/sage/sage/modular/quatalg/brandt.py # Killed/crashed
         sage -t  -force_lib
 .7.2.alpha1/devel/sage/sage/schemes/elliptic_curves/heegner.py #
 Killed/crashed
 }}}
 The first one is this:
 {{{
 sage: R = PariRing()
 sage: f = R('x^3 + 1/2')
 sage: f.dumps()

 Program received signal SIGSEGV, Segmentation fault.
 PyObject_GetAttr (v=0x0, name=0x10393e8) at Objects/object.c:1174
 1174    Objects/object.c: No such file or directory.
         in Objects/object.c
 Missing separate debuginfos, use: debuginfo-install
 atlas-3.8.3-18.fc14.x86_64 expat-2.0.1-11.fc15.x86_64
 fontconfig-2.8.0-3.fc15.x86_64 glibc-2.14-5.x86_64 keyutils-
 libs-1.2-7.fc15.x86_64 krb5-libs-1.9.1-5.fc15.x86_64
 libcom_err-1.41.14-2.fc15.x86_64 libgcc-4.6.0-10.fc15.x86_64
 libgfortran-4.6.0-10.fc15.x86_64 libquadmath-4.6.0-10.fc15.x86_64
 libselinux-2.0.99-4.fc15.x86_64 libstdc++-4.6.0-10.fc15.x86_64 nss-
 softokn-freebl-3.12.10-2.fc15.x86_64 openssl-1.0.0d-1.fc15.x86_64
 (gdb) bt
 #0  PyObject_GetAttr (v=0x0, name=0x10393e8) at Objects/object.c:1174
 #1  0x00007fffea27c2e1 in
 __pyx_pf_4sage_9structure_7element_7Element_3__getattr__
 (__pyx_v_name=0x7ffff7bdfab0, __pyx_v_self=0x4aebeb0) at
 sage/structure/element.c:2795
 #2  __pyx_tp_getattro_4sage_9structure_7element_Element (n=0x7ffff7bdfab0,
 o=0x4aebeb0) at sage/structure/element.c:23398
 #3  __pyx_tp_getattro_4sage_9structure_7element_Element (o=0x4aebeb0,
 n=0x7ffff7bdfab0) at sage/structure/element.c:23394
 #4  0x00007ffff7cc4a0d in PyObject_GetAttrString (name=<optimized out>,
 v=0x4aebeb0) at Objects/object.c:1138
 #5  PyObject_GetAttrString (v=0x4aebeb0, name=<optimized out>) at
 Objects/object.c:1129
 #6  0x00007ffff7cdd733 in reduce_2 (obj=0x4aebeb0) at
 Objects/typeobject.c:3183
 #7  0x00007ffff7cde048 in _common_reduce (proto=2, self=0x4aebeb0) at
 Objects/typeobject.c:3327
 #8  object_reduce_ex (self=0x4aebeb0, args=<optimized out>) at
 Objects/typeobject.c:3389
 #9  0x00007ffff7c8a763 in PyObject_Call (func=0x4a991b8, arg=<optimized
 out>, kw=<optimized out>) at Objects/abstract.c:2492
 #10 0x00007fffee745d16 in save (self=0x79d788, args=0x4aebeb0,
 pers_save=0) at
 
/home/vbraun/opt/sage-4.7.2.alpha1/spkg/build/python-2.6.4.p11/src/Modules/cPickle.c:2648
 #11 0x00007fffee7475b8 in dump (self=0x79d788, args=0x4aebeb0) at
 
/home/vbraun/opt/sage-4.7.2.alpha1/spkg/build/python-2.6.4.p11/src/Modules/cPickle.c:2714
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11342#comment:44>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to