Hans Åberg <haber...@telia.com> writes:

>> On 23 May 2018, at 16:15, David Kastrup <d...@gnu.org> wrote:
>> 
>> Hans Åberg <haber...@telia.com> writes:
>> 
>>>> On 23 May 2018, at 15:46, David Kastrup <d...@gnu.org> wrote:
>>>> 
>>>> Try actually reading the code.  lily/include/smobs* are not that many
>>>> files and nowadays pretty exclusively encapsulate all Scheme-related
>>>> memory management.
>>> 
>>> As long you don't have pointers into that, as you suggested with
>>> Rational and other data that uses it.
>> 
>> Look, you are just stabbing around in the dark here.  Quite a few of
>> your statements don't even make sense.  You need to get yourself
>> acquainted with the code if you want to get anywhere.  Rational is not a
>> structure containing garbage-collected elements or pointers.
>
> The thread started with suggestions for changing that.

Correct.

>> It's fixed-size which is what triggered the original poster's
>> complaints.  Changing that requires work since currently you can use
>> and store Rational everywhere without bothering about garbage
>> collection.  I know perfectly well that the premise of the Boehm GC
>> is that you can do that with SCM values anyway but the cost
>> associated with that is a vastly expanded seed area for the mark pass
>> of garbage collection, basically adding the complete heap.
>
> I ended up using GC_malloc_uncollectable, because it turned out too
> tricky to use malloc.

This is C++, so we basically end up with operator ::new and operator
::delete unless overriden by individual classes.  They use the
equivalent of GC_malloc_uncollectable.

> And I found no reference to it in LilyPond, so I got curious about how
> you do it. But you are not going to tell me, so forget about it.

You know, if you actually bothered _asking_, you'd increase your chances
of getting an answer.

>> LilyPond's data structures are too much of a
>> mixed bag to make that a good idea.
>
> It is indeed slower, but not using it requires isolating it. But is of
> course fine that you are willing to do that.

Sigh.  It's been done for dozens of years already since Guilev1 required
it.

-- 
David Kastrup

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to