Calc: Further cache simulation results

Kohei Yoshida libreoffice at kohei.us
Mon Oct 1 12:19:36 UTC 2018


> On October 1, 2018 at 5:31 AM Michael Meeks <michael.meeks at 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


More information about the LibreOffice mailing list