четверг, 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 жмите). В диалоге поле "Текст" сразу будет содержать ваш текст из ячейки, останется только адрес гиперссылки заполнить.

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

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