Как стать автором
Обновить

Тестирование производительности таблиц офисных пакетов в Linux на примере MS Office, LibreOffice, МойОфис, OnlyOffice

Время на прочтение23 мин
Количество просмотров17K
Всего голосов 20: ↑17 и ↓3+14
Комментарии56

Комментарии 56

Я человек простой, табличками пользуюсь как дикарь телескопом. Один из самых болезненных для меня в плане производительности кейсов — скопировать более-менее сложную структурированную страничку из веба и вставить в таблицы. Совершенно рандомным образом (видимо в зависимости от сложности скрытой структуры страницы) это может занимать от секунд до минут, а то и вовсе насмерть повиснуть. У всяких веб-поделий с этим и вовсе беда.

Если приведете пример для тестирования, в Вашем случае, то такую вставку провернуть не будет сложно. С меня тогда отчет по всем озвученным офисам.

А вы вставляете через правую кнопку мыши "только значения" или просто ctrl-V?

Если брать сравнение в контексте указанных вами законов, то выбор только Мой офис и Р7 офис (который onlyoffice по сути).
Почему? Потому что План перехода на отечественное ПО, работает уже лет 6, и подразумевает не только платный софт а вообще ВСЕ ПО которое используется. И не важно что это опенсорс и его не надо покупать. Потому для госов и муниципалов можете вычеркнуть любой опенсорс если он вне реестра отечественного ПО.

Закон ничего не говорит о том что Вы должны ставить на Ваш личный ПК/ноутбук, более того Закон ничего не говорит о ПО, которым может пользоваться Подрядчик, да, ему придется подстраиваться под Заказчика, но на часть машин он может поставить тот же LibreOffice и пользоваться им в свое удовольствие. Кроме того, только в сравнении познается мир.

Прочитайте еще раз свое введение к статье. Вы рассматриваете как раз в контексте законов по импортозамещению и кии т.е. те рабочие места на которые эти законы распространяются. Я вот тоже не вижу какая разница что у вас на личном ноутбуке если это вне рамок вашей же статьи.


А для офиса и дома, я бы выбрал и выбрал еще два года назад onlyoffice.
- он используется у яндекса в облаке;
- его используют часть госов закупая как Р7 офис;
- можно развернуть даже на домашнем сервере;
- интеграция с документ сервером поддерживается достаточно большим количеством сервисов;
- отличная совместимость с документами ms, плюс конвертирует pdf в docx значительно лучше чем даже 2013 офис.

Либра на этом фоне выглядит как пережиток, который использовали в виду отсутствия каких либо адекватных альтернатив.

MS Office - это то что по плану должно уйти, МойОфис - то что должно прийти ему на смену в гос.органах и структурах Заказчика, LibreOffice/OnlyOffice - альтернативы которые имеют все шансы прописаться на домашних ПК Пользователей, в бизнесе который не связан с КИИ, на ПК/ноутбуках в структурах Подрядчика (про которых в Указе Президента ни слова), а так же выступают фоном для сравнения.

У Мой Офис есть конкурент, Р7 офис, это локализованное подразделение OnlyOffice которое есть в реестре отечественного ПО и которое уже закупают так же как и Мой Офис. Смотря кто тендер выиграет. Поэтому мой выбор и упал на Only так как он охватывает вообще все и для домашнего и коммерческого использования бесплатен, для госов платен, но там идет его брат близнец Р7.
Мой офис щупал, но по мне он даже до Либры не дорос как бы его не пиарили. Может быть сейчас что то изменилось, но желания нет, да и смысла не вижу его снова щупать.

К сожалению не смог протестировать данный офис, т.к. сам офисный пакет не имеет бесплатной версии, есть только триал, при этом выдают ссылки на скачивание только по запросу с заполнением личных данных, а есть ли там версия под Linux с сайта было не видно. Поэтому прошел мимо.

Потому что Р7 позиционируется для госсектора и для комерсов, которые должны отвечать требованиям защиты (КИИ). Для всего остального есть onlyofficе. Мой офис просто часто и на хабре и новостях, но зайдите посмотрите клиентов Р7 на их сайте. Будете приятно удивлены. Да я им симпатизирую, потому что у них и саппорт даже в рамках комьюнити продуктов адекватный и всегда рады фидбеку. Я за такие продукты, а не за просто рекламу. Инструмент должен работать в первую очередь и иметь адекватный саппорт.

Ну и если вам не нравиться что надо заполнить форму для Р7,вспомните что пару лет назад мой офис вообще попробовать можно было сугубо купив его версию для десктопа даже для домашнего использования. При этом ключ присылали несколько дней. Если вам сложно заполнить форму, думаю писать что не смотрел потому что это сложно, ну такое себе, тем более для хабра.

LibreOffice как раз наиболее реальный "импортозаместитель" MSO - в силу 100% доступности юзерам с ограниченными правами (без прав инсталляции), из-за реально высокой скорости работы и функционала, соразмерного с MSO и превышающего функционал конкурентов.

Все тесты в которых в статье "выиграл" VBA + MS Excel -- LibreOffice Calc выиграет, если задействовать другой встроенный в него язык программирования, не требующий, как и VBA, установки, также имеющий IDE c автодополнением и интроспекцией. Я о языке Python. Да и сам LibreOffice работает в режиме Portable, т.е. просто распаковывается на любой диск, раздел, флешку (занимая там ~1 Гб) .

Чтобы Calc c Python обогнал MS Excel c VBA в несколько раз - нужны сторонние библиотеки Pandas и Numpy (написаны на С++, Fortran итд), которые можно как установить через pip, а можно просто скачать и распаковать. Подробности описал тут: https://forumooo.ru/index.php/topic,8696.0.html Именно возможность тайком бесплатно распаковать LibreOffice с подкапотным Python и использовать в т.ч. и в госконторах - делает его растущим и перспективным средством офисной автоматизации.

LibreOffice как раз наиболее реальный "импортозаместитель" MSO - в силу 100% доступности юзерам с ограниченными правами (без прав инсталляции)

Импортозамещение требуется только в госорганах, и тут ставится софт на рабочую машинку админами, у пользователей в таких структурах 100% гарантия нет никаких прав, кроме как читать/писать из/в определенные папки и запускать "белый" список софта. А так как его нет в реестре, значит он никак, по определению, на меожет быть реальным "импортозаместителем" MSO"

MSO больше не продается бизнесу, значит импортозамещение - нужно всем, не только госорганам. Отсутствие OpenOffice|LibreOffice в "Реестре" не исключает возможность его использования даже в госорганах. И уж тем более под групповыми политиками (которыми скоро тоже будет негде рулить)

C 2025го года госорганам, Заказчикам, а следовательно так же всем тем кто работает на/с объектами критической информационной инфраструктуры, запрещено использовать иностранное ПО. см. п.б.

http://publication.pravo.gov.ru/Document/View/0001202203300001

НЛО прилетело и опубликовало эту надпись здесь

а если это делать через внешний питон? через библиотеки для работы с таблицами?

НЛО прилетело и опубликовало эту надпись здесь

10секунд на такую матрицу вместе с открытием и закрытием файла - идеально, имхо

  • Ну а МойОфис в Меил (вк)

  • Есть мобильное приложение и куча других продуктов

  • По новостям Мойофис мелькает сильно чаще как и отметил автор, из чего делаю вывод, что закупают его чаще. Вероятно не просто так.

  • Плюс домашняя версия у Р7 не бесплатная. Это остановит буквально всех пользователей. Они за майкрософт то в большинство своем не платили, а уж за это и подавно не будут.

По статье автору хочется задать только один вопрос - почему тестировалась домашняя версия для решения рабочих задач. Очевидно же, что рабочая функциональность там ограничена, раз она распространяется бесплатно. Домашние дела с надстройками и макросами никто не делает - это уже офисная задача.

По статье автору хочется задать только один вопрос - почему тестировалась домашняя версия для решения рабочих задач.

Я ищу наиболее массовую платформу, что бы переписать свою программу и ее функционал в рамках малой автоматизации. Чем более доступная платформа, тем лучше и ниже порог входа для потенциального пользователя.

Ну можно и микроскопом гвозди забивать, просто молотком это все же удобнее и правильнее.

План перехода на отечественное ПО, работает уже лет 6, и подразумевает не только платный софт а вообще ВСЕ ПО которое используется. И не важно что это опенсорс и его не надо покупать. Потому для госов и муниципалов можете вычеркнуть любой опенсорс если он вне реестра отечественного ПО

Обратите внимание, что реестр включает ПО, которое можно закупать, а не ПО, которое разрешается устанавливать и использовать в госструктурах. Это разные вещи. И СПО не запрещено к такому использованию. Нет лишь нормальных механизмов поддержки такого ПО силами сторонних компаний.

Уже много лет как пора VBA закопать и принять уже очевидную мысль: либо таблички для юзверей, либо разрабатывать полноценный софт с нормальными переносимыми компонентами не тянущими за собой "единственно правильную" версию офиса для выгрузки в таблицу.
Потому что всё это VBA работает через... даже в разных версиях самого MSO, не говоря о вопросах безопасности запуска всяких левых скриптов...
И некоторые окологосы с этой их любовью к креативу из говна и палок уже много лет как портят людям жизнь с этими их "рекомендациями".

ну конечно-же — или белое или чёрное. Ведь в жизни тоже нет никаких полутонов. #ирония

Легко сказать про других "… окологосы с этой их любовью к креативу из говна и палок уже много лет..". Но ведь мы понимаем, что за всем этим стоит не только тупость разработчиков или тех, кто пытается с VBA что-нибудь автоматизировать — не хватает знаний, времени, хорошего наставника итд.

На любом языке пишется немало плохого кода — но от этого не язык — проблема. А именно его использование. Литературным языком тоже не каждый пользоваться правильно может — что из этого — язык запретить?

Мне анализ автора понравился, хоть лично мне он и не нужен.

а ваш "… полноценный софт с нормальными переносимыми компонентами.." больше тянет на утопию. Верить в совершенный подход — пустая трата времени, сил и нервов. Хоть я вас и понимаю. Но у нас есть всегда возможность — если нам это не подходит, то можем не смотреть, не пользоваться, игнорировать. А ещё лучше — помогать другим, если можем — стать лучше.

А сколько софта написаного на VBA есть и все ещё работающего и развивающегося. Это служебный софт, но оно работает и за него платят.

Как раз в госах он очень востребован. Чтоб в каком то проприетарном софте что то изменить/добаить столько уйдет времени и согласований, дождешься к пенсии, а то еще и откажут. Поэтому просто делается макрос небольшой, берется выгрузка данных и все работает тут же и сразу.

Почему нельзя было в формуле "ПРАВСИМВ" заменить на "ПРАВ"?

Спасибо за подсказку, потому что с LibreOffice я знаком поверхностно и до написания этой статьи я ней не работал.
Судя по описанию и функционалу ПРАВ в LibreOffice эквивалентен ПРАВСИМВ в MS Office, но при этом именно как массив в составе формулы все равно не работает. Т.к. логика блока с этими формулами в массиве заключается в том, что общую длинную строку нарезают на более короткие по символу - разделителю пробелу, но так что бы такие строки не превышали по длине 105 символов (но последнее настраивается через модификацию формулы). А кроме того этот нюанс, как и вопрос с диапазоном печати, показывают что LibreOffice не только не пытается копировать на 100% MS Office, но и местами реализует решения иначе, из-за чего простое копирование "в лоб", не проходит.

Если честно, за время, сопоставимое с конструированием функции из примера, можно написать функцию на BASICe, которая будет лишена подобных ограничений. Разобраться там один раз и недолго.

Каждый раз такие как вы забывают, что программист конечно-же может всё сделать у себя в visual Studio это профессиональней. Но. Для этого нужны намного большие знания и навыки программирования, среда для разработки итд. Хороших Программистов мало. В отделе продаж или маркетинга в компании, юзеры которых не имеют никаких администраторских прав, что-либо устанавливать у себя на компах - как вы собираетесь это реализовать?

Это не профессиональней, это проще.

Пользуюсь WPS офис под линукс, и горя не знаю. Ещё сейчас пробую SoftMaker Office — вполне вменяем.

В softmaker разве есть макросы?

Еще недавно яндекс присылал какое-то заявление на подключение онлайн кассы в docx. Там редактирование залочено, разрешено править только в определенных полях. В итоге только onlyoffice мог заполнить, он просто плевать хотел на запрет, редактировал весь файл. МС офис редактировал только в нужных местах, остальные вообще не могли редактировать файл.

Есть, и их SoftMaker Basic (https://www.softmaker.net/down/bm2021manual_en.pdf) очень похож, и, по-моему, сильно совместим с VBA. Но, правда, мне не удалось заставить его открыть файл и преднастроить форматирование листа для вывода на принтер (в отличие от Мелкомягкого оригинала).

Но ... Note: BasicMaker is available only under Windows. It is not included in all versions of SoftMaker Office.

А, у меня как раз Linux основная ОС, поэтому и думал что нет макросов.

в отличие от Мелкомягкого оригинала

кто ещё оригинал.. я конечно возможно что-то путаю, но емнип мелкомягкие в своё время купили свой офис у softmaker..

Не в курсе, третий день использую.

ИМХО, WPS Office максимально близкий к MS Office в части функционала, даже VBA поддерживает, но в платной версии и только под Windows. Я все же старался выбрать нативные офисные пакеты под Linux и с поддержкой макросов в доступной версии, а не по подписке.

Ну лично мне важно удобство, пока WPS рулит. Он не безгрешен, проблем там хватает.

Насколько я помню, раньше можно было в разы повысить производительность операций с ячейками, запретив обновление интерфейса Excel:

Application.ScreenUpdating = False

также и видимость Worksheet(а) отключать стоит — иногда скорость тоже увиличивает.

Можно, по опыту - для ускорения VBA достаточно на время работы макроса отключить, предварительно отладив код, всякую отрисовку интерфейса и расчет формул (с последним надо аккуратнее), а в конце макроса включить опции обратно. Даже без оптимизации кода такой подход ускоряет время выполнение макроса на порядок или даже порядки. У меня при заполнении шаблона с 1.5мин. на 1 лист время упало до 9 секунд.

'Ускоряем Excel путём отключения всего "тормозящего"
Public Sub AccelerateExcel()

'Больше не обновляем страницы после каждого действия
Application.ScreenUpdating = False

'Расчёты переводим в ручной режим
Application.Calculation = xlCalculationManual

'Отключаем события
Application.EnableEvents = False

'Не отображаем границы ячеек
If Workbooks.Count Then
ActiveWorkbook.ActiveSheet.DisplayPageBreaks = False
End If

'Отключаем статусную строку
Application.DisplayStatusBar = False

'Отключаем сообщения Excel
Application.DisplayAlerts = False

End Sub

"При этом гостевой операционной системой для тестов у меня используется полюбившийся мне Debian 11.3 non-free..."
Уже 11.4.0+nonfree.
Я просто хочу уточнить, Вы "Debian 11.3 non-free" позиционируете как отдельный дистрибутив?
Все тесты установки MS Office на wine

https://appdb.winehq.org/objectManager.php?sClass=application&iId=31

Для работы с ПО от MS лучше использовать виртуалку с Windows:
SQL Server Management Studio (SSMS), MS Power BI Desktop,
MS: Visio Professional 2013-21, Project Professional 2013-21

Для нативного Debian 11.4 Bullseye(совместим с Ubuntu 20.04) c репами от ms:

ms-teams, mssql-server-2019-22(Linux), vscode, dotnet-sdk, aspnetcore-runtime,
dotnet-runtime, PowerShell, mono (alias nuget=«mono /usr/local/bin/nuget.exe»)
https://packages.microsoft.com/
Azure Data Studio - почти аналог SSMS для macOS и Linux
https://github.com/microsoft/azuredatastudio

Уже 11.4.0+nonfree.

Debian 11.4 вышел 09.07.2022, в то время как основные тесты прогонялись в июне месяце, а последние были завершены 04.07.2022, дальше текст полировался + я ожидал ответ на пару запросов.

Я просто хочу уточнить, Вы "Debian 11.3 non-free" позиционируете как отдельный дистрибутив?

Дистрибутив Linux'а - Debian, версии номер 11.3, редакция non-free.
Хост крутится на Proxmox 7.2-1 (что тот же Debian Linux, только в профиль), на нем виртуальная машина с гостем Debian 11.3 редакции non-free, последнюю я использую т.к. при установке мне был нужен видеодрайвер для ноутбучной GTX1660ti. Просто с это версией Debian'а проблем было меньше всего, хотя можно то же самое провернуть с классической версией. Настройки ВМ для тестирования офисных пакетов - в этой статье в скриншоте.

Для работы с ПО от MS лучше использовать виртуалку с Windows

Лучше - согласен, но смысл в том, что согласно Указа Президента РФ чиновники и структура Заказчика, а так же объекты КИИ к 2025му году должны перейти массово на российское ПО. Я не буду обсуждать на сколько каждая программа в нем имеет % российского кода, но операционной системы MS Windows там нет. Соответственно и тестирование было на Linux'е. Почему Debian? Потому что на сегодня это самый плодовитый дистрибутив-прародитель, пресловутая Astra Linux базируется на Debian, другое дело там версия 10-я, кажется, но тут могу ошибаться.

но операционной системы MS Windows там нет

так там и M$ office нет..

Нет, но сравнивать никто не запрещает, что бы понимать что нас ждет.

Почему LibreOffice использовали устаревший, двухлетней давности? Текущая версия 7.3.4.

Ну и это, я про производительность особо ничего не увиде в статье

Почему LibreOffice использовали устаревший, двухлетней давности? Текущая версия 7.3.4.

Использовался тот что шел в репозиториях Debian'а. Если брать наши российские дистрибутивы Linux'а, то там из коробки тоже не очень свежее ПО. Да, можно было установить посвежее, но я на MS Windows получил того же порядка результаты в версии для винды.

Ну и это, я про производительность особо ничего не увиде в статье

Макросы выполнялись на время. Макросы написаны для простых операций чтения-записи (ввода/вывода), код писался под одну и ту же логику - запись/чтение в цикле.

Debian Backports - официальный репозиторий пакетов,
адаптированных для работы в стабильной (stable) версии,
иными словами предоставляет свежие версии программ.

apt-cache policy libreoffice
sudo apt install -t bullseye-backports libreoffice

а мне вот интересно почему для тестирования была выбрана плазмащель? (не подумайте что я гномосек, я кедераст, сам я кеды люблю и юзаю евридей!!)

ТС в коментах не раз упомянул что старался приблизиться к импортозамещённой астре. в астре дефолтное DE это FLY. его конечно нет в других дистрах, но к нему можно приблизиться по потреблению ресурсов и кол-ву фоновых процессов используя например lxqt, а кеды несмотря на всю свою крутизну довольно монструозны, редко ставятся в офисах и что самое печальное имеют свойство влиять на подобные тесты внезапно запуская в фоне baloo или ещё что нибудь что немного поднагрузит процессор, или диск, или откушает память.. в общем так себе выбор. всё это конечно поправимо (например akonadi можно перевести с mysql на sqlite или просто выключить, baloo так же отключается, да и саму плазму можно перевести на xrandr вместо opengl) но зачем если можно было сразу взять что-то более подходящее для тестов.

в своё время я тоже сравнивал несколько офисных пакетов. под виндой победил wps office, а под линуксом softmaker. (тут дело не только в производительности, учитывалось многое включая то как быстро юзвери переставали нужеть что непривычно и начинали пользоваться)
в итоге во всех сравнительных таблицах кроме одной M$ был последним проигрывая даже либре и опёнку. единственное в чём он побеждал это размер открываемых файлов (в частности размер таблиц). но при этом он так нещадно насиловал ресурсы что плюс сомнительный, к тому же в реальной жизни я так и не столкнулся с ситуацией когда табличка нужная для работы у какого нибудь юзверя не влезла бы в либру или wps

а мне вот интересно почему для тестирования была выбрана плазма

Потому что она нравится ТС'e =) при этом каждый волен выбирать и работать в том что ему ближе, ТС не навязывает.

ТС в коментах не раз упомянул что старался приблизиться к импортозамещённой астре.

Помимо Astra Linux, которая имеет свое графическое окружение, в реестре российского ПО идут такие Линуксы, как: Rosa Linux, Alt Linux, Ред ОС, которые по дефолту комплектуются в т.ч. и KDE, в принципе KDE можно установить и на Astra Linux, но тут уже нет пределу совершенству.

в своё время я тоже сравнивал несколько офисных пакетов. под виндой победил wps office, а под линуксом softmaker.

Я это сразу оговорил - мне интересно перенести мою программу по заполнению шаблонов заранее подготовленными данными, на платформу другого, разрешенного офиса. Для этого мне необходимо макросом проделать все то, что было прописано в статье. Это минимум, потому что на базе этой простой версии строится более сложная, которая помогает автоматизировать заполнение исполнительной документации в строительстве. При этом я ищу не только возможность решить свою задачу, но и прощупываю возможность и границы, в общих чертах, для малой автоматизации в принципе.

Возможно в Вашем кейсе некоторое время тому назад была одна ситуация, сегодня - ситуация другая.

А у меня пока нет альтернатив для Oracle's AutoVue и Primavera P6 EPPM. Капстрой и ремонты. Ну только если Spider Project.

Спасибо за вашу глубинно проработанную публикацию и мнение о нашем продукте. Должны сказать, что мы немного разочарованы выбором неподходящего решения для такого рода тестирования. Существенную долю вашего обзора занимает изучение средств автоматизации. Однако в рассмотренном вами бесплатном продукте для частных лиц «МойОфис Стандартный. Домашняя версия» эта функциональность ограничена только макрокомандами, которые позволяют автоматизировать работу только внутри самого документа и не имеют возможности взаимодействовать с файловой системой компьютера. В коммерческом продукте «МойОфис Стандартный» существует возможность подключения внешних надстроек — они обладают значительно большими возможностями, в том числе, позволяют задействовать внешние библиотеки и способны работать с файлами. Будем рады предоставить вам на тестирование актуальную версию дистрибутива «МойОфис Стандартный» и надеемся на объективную корректировку выводов в вашем обзоре.

Таблички табличками, но их паркинг это что-то. На PHP наиболее лёгкий вариант парсера через php office открывает xlsx табличку на 60мб (порядка 150к простейших записей без формул и форматирования) аж 10 минут, тогда как java-парсео в libre на это тратит секунд 10.

Вот с этой стороны с табличками работать неудобно - они крайне тяжелы в паркинге, лучше уж выгрузки в простейших текстовых форматах, они открываются за секунды везде.

то в MS Office 2007 и младше приводит к сбросу настроек

"Младше" в вашем понимании - это 2003, XP, 2000? В ту сторону? Судя по дальнейшему "Но для MS Office 2013 и старше это уже не так актуально" - так и есть.

Но "младше" - это "вышел позже". Так что должно быть наоборот.

Или вообще избегать этих наречий и использовать "ранняя/поздняя версии".

В смысле нет коммьюнити по Lua? А как же https://www.lua.org/community.html? Скажите еще, что книжек нет. Есть же совершенно бомбическое издание от автора языка Роберту Иерузалимски (https://dmkpress.com/catalog/computer/programming/978-5-97060-203-4/), в котором очень подробно описаны все применяемые в языке конструкции. Если бы вы прочитали книгу, то вряд ли бы вписали в недостатки «Нет жесткой типизации переменных», так как это не бага, а фича самого языка Lua.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации