[Development] RFD: plugins vs QStringLiterals
Thiago Macieira
thiago.macieira at intel.com
Thu Nov 5 21:55:29 CET 2015
On Thursday 05 November 2015 21:06:20 Marc Mutz wrote:
> On Thursday 05 November 2015 17:44:33 Thiago Macieira wrote:
> > Proposal: force QStringLiteral uses to always address a heap-allocated
> > QString, instead of pointing to the static data. Possibly, this should be
> > an interned atom/quark à la GQuark, so two passes on the same
> > QStringLiteral would result in the same heap pointers.
>
> TL;DR: what's atom/quark in this context?
The documentation for XAtom and GQuark probably explains more. Basically it's
a string that becomes managed by the library and for which a pointer
comparison guarantees string comparison.
str1 == str2 ←→ &str1 == &str2
Obviously this is more useful for when you have pointers (GQuark) or you have
some other form of identifier (XAtom).
The benefit for us is that it would allocate memory only on the first use.
After that, it always returns the same pre-allocated string data.
We'd implement it using a QSet.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Development
mailing list