It's nice that the "labels" issue has been resolved. It is fairly implausible that a user would type in 32,000 individual commands, so optimizing a search was an obvious issue. Of course lisp has hash tables. Also arrays. The idea that you were generating tens of thousands of symbols -- in addition to keeping a list of them -- suggests a misunderstanding of some sort. It is kind of like opening up a cafeteria in a minivan and complaining to Ford that their design is bad because it has only 14 cupholders, and you need at least 200.
It seems that your basic problem is that you have a terrible interface to Maxima, even if this problem were fixed. A proper interface would not require Maxima to parse a character string for each command. There are many possible ways to do this, but possibly you would ask Maxima to parse a name and allocate Maxima space for "x", "y", or other variables. But parsing x+y could be done in python, and if it was intended to send to lisp, ask lisp to make a list of (mplus), $x, and $y). This would be done by calling a lisp subroutine called LIST with 3 pointers. Incidentally, I quite disagree with Robert D about using the Maxima rational function package. In fact if Sage were to communicate using rat. funs. rather than the "general expression" form, it would likely be vastly more efficient. Also I suspect most of the demonstrations used by Sage people to show Maxima is slow e.g. by using the "expand" command would be changed by using the appropriate "ratexpand" or "rat" command. While it may not seem to be quite so obvious, the canonical rational expression or "rat" form would generally be far more efficient for communicating between Sage and Maxima, and probably sufficiently general for Sage purposes. Outside a relatively small header H that names the variables in the expression (once), the rest of the form is a pair of polynomials where each of them can easily be expressed as a list of coefficients (integer coefficients, or recursively, other polynomial forms) and indexes into H. --~--~---------~--~----~------------~-------~--~----~ To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---