[Development] QVariant performance
Olivier Goffart
olivier at woboq.com
Mon May 16 12:50:22 CEST 2016
On Montag, 16. Mai 2016 12:32:41 CEST Mark Gaiser wrote:
> Hi,
>
> Just a fyi since the article might be of interest to some on this list.
> I just stumbled upon this github project [1].
> The article and rationale for that project can be found here [2].
>
> It claims to be a stack based "variant" implementation made for performance
> and as little overhead as possible. Perhaps the code has some nice tricks
> that could be used to make QVariant faster? QVariant in those benchmarks,
> as seen in [1], seems to be the slowest when compared to std::any,
> boost::any and his own variant.
>
> [1] https://github.com/david-grs/static_any
> [2] http://david-grs.github.io/low_latency_stack_based_boost_any/
There is still this patch that saves a memory alocation for most types (like
std::string used in that benchmark):
https://codereview.qt-project.org/140435/
[The problem that was raised was the fact that it does not respect the
alignement. But since the current implementation does not respect it either, i
don't think it should be a blocker for the patch.]
Of course, there is no way we can compete with static_any that stores
everything on the stack. But this has nother limitations that are not
desirable for a more generic QVariant.
--
Olivier
Woboq - Qt services and support - https://woboq.com - https://code.woboq.org
More information about the Development
mailing list