From 1c59fed7c43654736775580799f1165e8b8740a0 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Thu, 15 Aug 2019 00:37:44 -0400 Subject: Correctly pack mdds 1.5.0. Turns out the earlier mdds 1.5.0 package was not correctly packaged. I've fixed that now, and re-published the 1.5.0 package, which does contain the patch from Lubos. Change-Id: I1ff7d6568568860f7cccd3be3bc29aaaebe7fd73 Reviewed-on: https://gerrit.libreoffice.org/77483 Tested-by: Jenkins Reviewed-by: Kohei Yoshida --- external/mdds/UnpackedTarball_mdds.mk | 1 - external/mdds/use-position-hint-also-back.patch | 50 ------------------------- 2 files changed, 51 deletions(-) delete mode 100644 external/mdds/use-position-hint-also-back.patch (limited to 'external/mdds') diff --git a/external/mdds/UnpackedTarball_mdds.mk b/external/mdds/UnpackedTarball_mdds.mk index 625204d29619..c015f4c13f5a 100644 --- a/external/mdds/UnpackedTarball_mdds.mk +++ b/external/mdds/UnpackedTarball_mdds.mk @@ -14,7 +14,6 @@ $(eval $(call gb_UnpackedTarball_set_tarball,mdds,$(MDDS_TARBALL))) $(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,0)) $(eval $(call gb_UnpackedTarball_add_patches,mdds,\ - external/mdds/use-position-hint-also-back.patch \ )) # vim: set noet sw=4 ts=4: diff --git a/external/mdds/use-position-hint-also-back.patch b/external/mdds/use-position-hint-also-back.patch deleted file mode 100644 index 0b38c38d5536..000000000000 --- a/external/mdds/use-position-hint-also-back.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 726e2f02d14833bde2f7eef9677f5564c485a992 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= -Date: Fri, 17 May 2019 13:55:20 +0200 -Subject: [PATCH] use position hint also when it is past the actual position - -The m_blocks data structure is a vector. It means that it can be -also walked back, instead of resetting and starting from the very -start. - -Allows a noticeable performance improvement in -https://gerrit.libreoffice.org/#/c/72424/ . ---- - include/mdds/multi_type_vector_def.inl | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) - -diff --git a/include/mdds/multi_type_vector_def.inl b/include/mdds/multi_type_vector_def.inl -index 22a0ee2..09894e6 100644 ---- include/mdds/multi_type_vector_def.inl -+++ include/mdds/multi_type_vector_def.inl -@@ -861,7 +861,26 @@ void multi_type_vector<_CellBlockFunc, _EventFunc>::get_block_position( - - if (pos < start_row) - { -- // Position hint is past the insertion position. Reset. -+ // Position hint is past the insertion position. -+ // Walk back if that seems efficient. -+ if (pos > start_row / 2) -+ { -+ for (size_type i = block_index; i > 0;) -+ { -+ --i; -+ const block& blk = m_blocks[i]; -+ start_row -= blk.m_size; -+ if (pos >= start_row) -+ { -+ // Row is in this block. -+ block_index = i; -+ return; -+ } -+ // Specified row is not in this block. -+ } -+ assert(start_row == 0); -+ } -+ // Otherwise reset. - start_row = 0; - block_index = 0; - } --- -2.16.4 - -- cgit