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

Phil Bouchard philippeb8 at gmail.com
Tue Dec 27 03:50:45 CET 2016


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.

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.




More information about the Development mailing list