On October 1, 2018 at 5:31 AM Michael Meeks <michael.meeks@collabora.com> wrote:
Kohei poked at a chunk of profiles like this in the past; probably
worth getting his input; any thoughts ?
So, I believe when I reworked the internals of SvlListener & SvlBroadcaster to switch to
unorderd_set back in 2013, I did consider using vector instead, but decided to stick with
unordered_set. I don't remember the exact reasoning behind it, but I don't think it was based on
any real-world profile results showing advantages of unordered_set over vector. I'm all speaking
from memory here, so apply appropriate amount of skepticism ;-), but I don't think the difference
between use of vector and unordered_set was that significant with the few cases that I have tried.
I felt it was safe to use unordered_set for this simply because, while use of vector may improve
performance in certain situations, it may worsen performance in others. I just felt it was a bit
of a gamble to use vector, and I wanted to play safe.
Also, like Michael said, ultimately I feel that we should be using a drastically different data
structure to manage formula cell & formula group dependency to potentially win substantially and/or
reduce the cost of maintenance. I'm currently looking into using R tree for this, which is now
available in mdds. So far I haven't gone far enough to run any profiles yet.
Kohei
--
Kohei Yoshida, LibreOffice Calc volunteer hacker
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.