On Wed, Aug 8, 2018 at 10:15 AM David Kastrup <[email protected]> wrote:
>
> David Nalesnik <[email protected]> writes:
>
> > Hi all,
> >
> > I'm working with very large Scheme lists of pitches in an ly file,
> > transforming them, and passing them about from function to function.
> > Right now, I'm using actual Pitch objects (such as you would produce
> > with ly:make-pitch).  Would it be a better idea to work with pitches
> > simply as number lists--for example, (0 0 0) for middle C--and
> > instantiate the pitches only at the end when I'm ready for
> > typesetting?
>
> No?
>
> > This would of course require writing Scheme versions of
> > ly:pitch-transpose, ly:pitch-diff, and the like.
> >
> > This may be a "try it and see" type of question, but I thought I would
> > ask before I embark on such a major revision of my work.
>
> Pitches as a data structure contain one allocation.  In contrast, a list
> contains one allocation for each element (short of immediate SCM data
> types which small integers are) and one allocation for its containing
> cons cell each.  Those allocations are of a "more standard" size but I
> doubt that will make all that much of a difference.
>
> So I suspect that you are likely to end up worse than what you started
> with.
>

Thank you, David, for your explanation.  This will save me quite a bit
of wasted effort.

David N.

_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to