#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.