суббота, 16 июля 2022 г.

Luboš Luňák решил проблему с производительностью функций ВПР, СУММЕСЛИ и СЧËТЕСЛИ в LibreOffice Calc

Разработчик из Collabora Luboš Luňák решил наконец проблему с производительностью в LibreOffice Calc функций ВПР, СУММЕСЛИ и СЧËТЕСЛИ при работе с бльшими обьемами данных. О чём и написал в своём блоге минизаметку.

 

Данные выше (слева время работы функций до патчей, справа после патчей) - это какие-то пользовательские файлы от компании SuSe. Сами видите, насколько стало всё быстрее.

Фокус был в том, что если данные для функции ВПР отсортированы, то LibreOffice Calc применял для поиска в данных бинарный поиск, а если данные не отсортированы, то линейный, когда проверяется КАЖДЫЙ элемент. Представьте, если у вас десятки тысяч элементов надо перебрать. Решением стало копирование не отсортированных данных в память, их сортировка, кэшировние, а затем приминение к результату всё того же бинарного поиска. На словах всё вроде просто, а решение по факту заняло очень много времени.

Это улучшение будет доступно уже в LibreOffice Calc 7.4, который выйдет в августе 2022 года. Спасибо Luboš Luňák за эту работу.

четверг, 26 мая 2022 г.

GSoC 2022 и LibreOffice. Объявлены проекты

Google объявил о принятых проектах GSoC на 2022 год. В этом году LibreOffice заявил только два слота (больше не нашлось интересующихся и знающих С++ желающих).

Проект первый: добавить больше тестов для функционала поддержки макросов VBA в LibreOffice и по возможности дописать какие-либо отсутствующие методы. Делать будет Hanna Meeks.

Второй проект: поддержка Z-компрессии для графических форматов файлов. В частности для EMF/WMF. Делать будет Paris Oplopoios. И он уже добавил саму поддержку форматов EMZ/WMZ в исходный код LibreOffice. А теперь будет полировать это, писать тесты, и возможно еще что-нибудь.

среда, 25 мая 2022 г.

Наш форум под DDoS атакой (кому мы помешали интересно?)

Сегодня 25 мая 2022г наш форум https://forumooo.ru подвергся DDoS атаке и перестал работать, поскольку хостер его "спрятал" по техническим причинам.

Вот кому наш местячковый форум про очень уж узкоспециализированную тему помешал?

суббота, 21 мая 2022 г.

Выпуск LibreOffice 7.4 alpha 1

LibreOffice 7.4 alpha 1 доступен для тестирования.

Из нового и важного:

1. В Calc по умолчанию включены 16384 столбца вместо 1024 ранее

2. Улучшили производительность в Calc в различных случаях, особенно, когда большое количество ВПР функций в ячейках

3. Добавлена поддержка картинок в формате WEBP

4. В Calc добавлены спарклайны

5. Добавлена поддержка файлов в формате EMZ/WMZ

6. Увеличена скорость экспорта в PDF для некоторых случаев и больших документов

7. Очередная порция фиксов для совместимости с файлами MS Office

8. Порция фиксов для поддержки VBA макросов

четверг, 21 апреля 2022 г.

Ускорение экспорта документов в формат PDF

Luboš Luňák отчитался в своем блоге о проделанной работе по ускорению экспорта файлов из LibreOffice в формат PDF. По его словам ускорение некоторых внутренних операция во время экспорта после его патчей достигает до 62 раз! Это весьма круто. Проверял он на каком-то огромном 400 страничном документе. Ну и кстати, это говорит о том, что исходный код LibreOffice весьма неоптимален в некоторых местах, а также о том, что Luboš крутой перец =)

вторник, 19 апреля 2022 г.

Использование нового линковщика mold вместо стандартного при сборке LibreOffice

Один знаменитый в узких кругах программист взял и написал новый линковщик mold, который (по слухам) здорово ускоряет сборку нашего не маленького проекта LibreOffice.

Илмари пишет, что при использовании mold сборка LibreOffice у него стала занимать 30 минут вместо 50 минут со стадартным lld. Почти в ДВА раза! Учитывая, что у меня старое железо, и сборка вообще занимает два часа, применение mold явно имеет смысл.

Чтобы использовать mold при сборке LibreOffice (о том, как собирать свою сборку я писал ранее вот в этой статье), вам нужен установленный в вашей ОС mold и на шестом шаге "даём команду ./autogen.sh" нужно добавить к команде опцию --enable-ld=mold, либо добавить эту опцию в ваш файл autogen.input.

Вот результат тестов от самого автора mold :

Link speed comparison 

Добавлю после натурного эксперимента: 

mold в Ubuntu 20.04 собирается после прочтения инструкции по ссылке выше. Всё оказалось просто:

Команда sudo apt-get install -y build-essential git clang cmake libstdc++-10-dev libssl-dev libxxhash-dev zlib1g-dev pkg-config установит необходимые зависимости.

Далее команды:

git clone https://github.com/rui314/mold.git
cd mold
git checkout v1.2.0
make -j$(nproc) CXX=clang++
sudo make install

скачают репозиторий mold к вам локально, соберут бинарник версии 1.2.0 и поместят его в системный каталог.

Так как штатный компилятор GCC в Ubuntu 20.04 имеет версию 9.4, а поддержка mold появится только в GCC 12, то собирать LibreOffice, используя mold можно только юзая Clang (это тоже компилятор). Для этого в файл autogen.input в каталоге с исходниками LibreOffice надо добавить следующие строки:

CC=clang
CXX=clang++
--enable-ld=mold

Именно так, две первые строки без двух дефисов, а последняя с ними.

Далее даем команды

make clean

make

И процесс побежит.

понедельник, 11 апреля 2022 г.

Маленькое улучшение при вставке гиперссылки в ячейку талицы Calc

Andreas Heinisch реализовал маленькое улучшение при вставке гиперссылки в ячейку талицы Calc. 

Заключается оно в следующем: если ячейка уже содержит какой-то текст и вы хотите просто к этому тексту добавить гиперссылку (то есть этот текст останется неизменным, но по щелчку по нему откроется заданная гиперссылка), то просто выделите ячейку, щёлкнув по ней один раз мышкой, и используйте соответствующий диалог Гиперссылка (Ctrl+K жмите). В диалоге поле "Текст" сразу будет содержать ваш текст из ячейки, останется только адрес гиперссылки заполнить.

Ранее нужно было для этого дважды щёлкать по ячейке, чтобы перейти в режим редактирования, выделить нужный текст, а только потом открывать диалог Гиперссылка.

Удобство в мелочах!

четверг, 31 марта 2022 г.

Выпуск LibreOffice 7.3.2


The Document Foundation объявил о релизе второго корректирующего обновления LibreOffice 7.3.

Список исправлений относительно предыдущего релиза LibreOffice 7.3.1 ниже:

https://wiki.documentfoundation.org/Releases/7.3.2/RC1

https://wiki.documentfoundation.org/Releases/7.3.2/RC2

Всем, кто использует версию LibreOffice 7.3 крайне рекомендую обновиться.

вторник, 29 марта 2022 г.

Исправили ошибку, когда при сохранении презентации в формат PPTX из файла пропадало видео

Просто для истории: был вот такой баг репорт. И сегодня, наконец, Tünde Tóth из венгерской компании NISZ, исправил эту проблему в LibreOffice. Исправление пока доступно только в будущем LibreOffice 7.4, я не уверен, будет ли бэкпорт в LibreOffice 7.3.