#11734: sage_wraps should only read the sources of wrapped functions when 
needed.
-----------------------------------------------------------+----------------
    Reporter:  SimonKing                                   |         Owner:  
jason            
        Type:  defect                                      |        Status:  
closed           
    Priority:  blocker                                     |     Milestone:  
sage-4.7.2       
   Component:  misc                                        |    Resolution:  
fixed            
    Keywords:  sage_wraps sources gentoo startuptime sd32  |   Work_issues:     
              
    Upstream:  N/A                                         |      Reviewer:  
Simon King       
      Author:  Julian Rueth                                |        Merged:  
sage-4.7.2.alpha3
Dependencies:                                              |  
-----------------------------------------------------------+----------------

Old description:

> According to private conversation with Francois Bissey, #9976 has
> introduced a problem that makes it impossible start sage-4.7.1 on Gentoo.
> That's pretty serious, and so this ticket is a blocker.
>
> The problem is that sage_wraps reads the sources of to-be-wrapped
> functions and methods. The sources are stored as an attribute to the
> wrapper, which, on the one hand, is a waste of memory. Worse: Reading the
> Cython sources is impossible for sage-on-gentoo. Therefore, sage can't
> start.
>
> My patch introduces some lightweight classes, that simply store a
> reference to an object (e.g., the to-be-wrapped function) and return the
> sources or source lines or the argument list ''only when called''.
>
> Apply only [attachment:trac11734_sage_wraps_no_sourceread_lambda.patch]
> to the Sage library.

New description:

 According to private conversation with Francois Bissey, #9976 has
 introduced a problem that makes it impossible start sage-4.7.1 on Gentoo.
 That's pretty serious, and so this ticket is a blocker.

 The problem is that sage_wraps reads the sources of to-be-wrapped
 functions and methods. The sources are stored as an attribute to the
 wrapper, which, on the one hand, is a waste of memory. Worse: Reading the
 Cython sources is impossible for sage-on-gentoo. Therefore, sage can't
 start.

 My patch introduces some lightweight classes, that simply store a
 reference to an object (e.g., the to-be-wrapped function) and return the
 sources or source lines or the argument list ''only when called''.

 ----

 Apply only
 [attachment:trac11734_sage_wraps_no_sourceread_lambda.proper.patch] to the
 Sage library.

--

Comment(by leif):

 I've attached a `*.proper.patch`, which is identical except that I removed
 the "garbage" before "`# HG changeset patch`", i.e., I deleted the first
 line "`exporting patch:`", since Jeroen's current merger rejects such
 patches.

 For now, please make sure all your patches start with "`# HG changeset
 patch`", i.e., have it on the first line without any preceding messages or
 whatever.

 I've relaxed that in ''my version'' of the merger, but Jeroen and maybe
 others are likely to use his more restrictive one.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11734#comment:24>
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