[Development] Proposal for "container-oriented deterministic memory manager"

Konstantin Tokarev annulen at yandex.ru
Tue Dec 27 08:04:11 CET 2016



27.12.2016, 05:51, "Phil Bouchard" <philippeb8 at gmail.com>:
> On 12/26/2016 07:37 PM, Thiago Macieira wrote:
>>  Em segunda-feira, 26 de dezembro de 2016, às 18:04:45 BRST, Phil Bouchard
>>  escreveu:
>>>  No I didn't write any paper on the subject yet (I already have n side
>>>  projects to finish). All I have for now is this comparison with shared_ptr:
>>>  https://github.com/philippeb8/root_ptr
>>
>>  So an option we're not using is faster than an option we're also not using.
>>  How does this help us?
>
> Well I do not know the internals of the GC used by QML but if you want
> smooth animations in QML / Javascript and to speed things up then I
> think it's worth trying it out.

IMO obvious option is to postpone GC while animation is running.
I would consider such behavior a bug.

>
> It's very easy to understand:
> - You have a root_ptr per container
> - All the child ptrs are called "note_ptr" and are referencing the root_ptr
> - When the root_ptr is destroyed then all associated node_ptrs vanish.
>
> Also:
> - A container can link to another one and have multiple root_ptrs. When
> that happens then the last root_ptr to get destroyed will define when
> the whole set of containers will get destroyed as well.
>
> Thus:
> - If you use a browser and leave from a Javascript page then all the
> memory is guaranteed to be released.
> - It is deterministic therefore the behavior is a 100% predictable and
> measurable.
>
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development

-- 
Regards,
Konstantin



More information about the Development mailing list