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

Simon Hausmann Simon.Hausmann at qt.io
Thu Dec 29 10:14:09 CET 2016


I don't doubt that root_ptr can be used at all. What I'm curious about is what your thoughts are on how it could perform, how you would map its strengths to the allocation patterns of QML binding evaluations and general ECMAScript code.

For the record: Any animation code that _doesn't_ use QML Animators does indeed run in the same thread as the STW garbage collector and is therefore subject to its non-deterministic behavior (from the animation PoV). QML Animators on the other hand are run entirely in the render thread and are not affected by any pauses in the gui thread, whether it is caused by long running scripts, the garbage collector or blocking disk I/O. If with today's release you want to have guaranteed lag-free animations, then the use of animators over NumberAnimation, etc. is required. That is why it _is_ possible to run smooth animations with the scene graph and QML on crazy high resolution displays at minimal CPU usage.

That said, it is our expressed goal to improve the garbage collector to interrupt the GUI thread as little as possible, because not everything can (and should) be solved with animators. Scrolling in a listview, delegate re-use, property re-bindings, etc. are things that still have to run in under 16 ms. So without any doubt there is work to do [?]


From: Development <development-bounces+simon.hausmann=qt.io at qt-project.org> on behalf of Phil Bouchard <philippeb8 at gmail.com>
Sent: Wednesday, December 28, 2016 2:44:24 PM
To: development at qt-project.org
Subject: Re: [Development] Proposal for "container-oriented deterministic memory manager"

On 12/28/2016 08:36 AM, Simon Hausmann wrote:
> Hi,
> building on the suggestion: do you have any thoughts about how your
> allocator could be used instead of a garbage collector in an ecmascript
> implementation?

I'll have to look into the details of the ECMAScript but root_ptr can
handle neural networks so I'm not sure why it should fail with ECMAScripts.

I won't be able to reply during the day today but I can study specific
cases this week.

Development mailing list
Development at qt-project.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20161229/9cd30069/attachment.html>

More information about the Development mailing list