Date: prev next · Thread: first prev next last
2019 Archives by date, by thread · List index


On Friday 13 of December 2019, Kohei Yoshida wrote:
I just finished my benchmark testing on mdds::multi_type_vector, and
summarized my results in this blog post:

http://kohei.us/2019/12/12/benchmark-results-on-mdds-multi_type_vector/

Hopefully my findings and intepretations make sense.  In short, the
numbers look great.  The overhead of block shifting is a concern, but
I'm optimistic that this is going to be a non-issue for the most part.

 I'd really like to see benchmarks of Calc with this new mdds, especially to 
see how many regressions there will be, as I'm concerned whether it really 
would be worth it in reality. You say that the vast majority of Calc 
performance problems are with updating cell values without shifting, but that 
makes sense because that's where the current bottleneck is. Once the 
bottleneck moves to shifting of cells, we may get a whole new slew of 
bugreports about that. E.g. copy&paste of a column is very likely to hit a 
problem there, IIRC it internally results in a lot of shifting of cells.

 One interpretation of the graphs may be that the change helps a lot at the 
cost of a regression in one place, but other possible interpretation is that 
the change brings an improvement that can already be mostly achieved using 
hints at the expense of a cost that cannot be alleviated. Moreover we did go 
over all the reported performance problems related to mdds some months back 
and fixed all of them (at least I'm not aware of any pending ones). So the 
real question for me is how many of real-world cases will be improved and 
worsened by this, which is why I'd like to see non-artifical benchmarks.

 BTW, I have you considered using vector operations like SSE for the updates 
(either checking whether the compiler can employ them automatically or 
hand-writing them)?

-- 
 Luboš Luňák
 l.lunak@collabora.com

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.