[Development] QTBUG-43096 - QML instantiation performance decadence

Jean-Michaël Celerier jeanmichael.celerier at gmail.com
Sat May 26 19:01:59 CEST 2018

Well, you mention Nest thermostats : those actually run a Linux with 512 mb
of RAM - more than enough for some QtCore goodness.

> Which is why I don't think Qt has a role to play in these types of

This I don't understand. There would be so much to win in terms of code
reuse - currently I have a QObject hierarchy for desktop and Qt UI
interoperatibility and a raw C++ object hierarchy for embedded ; I'm just
recreating the same stuff twice. It kills me that the embedded devices I
use are powerful enough to run Python and Javascript interpreters but not
some QObjects.

About the allocations, I don't know: running my app under heaptrack shows
that QObjectPrivate is responsible for a great deal of those - way more
than I would like. Besides, this is not so much a problem of memory than a
problem of cache fragmentation. And in semi-powerful devices like Pi you
can really feel these effects if you are trying to push them to the max.

Ideally, there would be something like QObject but which allows full
constexpr or at least static-initialization; since embedded devices
commonly have static object trees which could be built at compile-time. A
QObjectLiteral of some sorts if you want, like QStringLiteral :p

Jean-Michaël Celerier

On Sat, May 26, 2018 at 3:17 PM, Thiago Macieira <thiago.macieira at intel.com>

> On Saturday, 26 May 2018 09:12:25 -03 Jean-Michaël Celerier wrote:
> > If only there was a way to be able to use Qt without all the PIMPLing and
> > just have QObjectPrivate be a "normal" QObject member !
> You'd save maybe 10% of the allocations. Don't forget that the privates
> have a
> lot of internals that allocate memory too, in the form of vectors,
> strings,
> signal-slot connecion tables, etc.
> --
> Thiago Macieira - thiago.macieira (AT) intel.com
>   Software Architect - Intel Open Source Technology Center
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20180526/cef509e6/attachment.html>

More information about the Development mailing list