ssubst on long strings



On 9/17/07, Fabrizio Caruso <caruso at dm.unipi.it> wrote:

> I have implemented longssubst which
> does what ssubst does and works on strings
> larger than 5 kilobytes.
>
> Unfortanately my code is much slower.

String operations are going to be much faster, almost certainly,
if coded in Lisp rather than in Maxima.

I am somewhat surprised that the maximum string length is
only some kilobytes. That might be an implementation-dependent
limit on the size of the name of a symbol (as Maxima strings are
implemented as Lisp symbols).

Be that as it may, perhaps you're better off working with Lisp strings.
sconcat returns a Lisp string. I think the stringproc functions mostly
process Lisp strings OK, although they probably return Maxima strings.
It would be straightforward (much easier than rewriting the string
processing stuff) to modify stringproc functions to return Lisp strings.

I am working on replacing the existing Maxima string implementation
with Lisp strings but it isn't finished.

best,

Robert Dodier