LimeReport Forum

General Category | Основное => Discussion | Обсуждение => Topic started by: Tux on December 05, 2025, 01:40:44 pm

Title: Linux vs Windows
Post by: Tux on December 05, 2025, 01:40:44 pm
Доброго времени суток!
Имею рабочую машину на Linux. ОС обновлена сегодня. Компилирую и запускаю одну и ту же программу. Вызов
report->loadFromFile(":/data/report.lrxml");
занимает 40401 msec
На этой же машине, в VirtualBox установлена Win11 (точно так же обновлена сегодня). Компилирую и запускаю эту же программу. Вызов
report->loadFromFile(":/data/report.lrxml");
занимает 4546 msec
Почему такое может быть?
Title: Re: Linux vs Windows
Post by: Arin Alex on December 05, 2025, 08:34:18 pm
Можно запустить под профилировщиком и посмотреть какие вызовы тормозят,
без этого сказать почему так происходит я не могу. 
Title: Re: Linux vs Windows
Post by: Subst on December 06, 2025, 12:39:04 pm
а если глянуть абстрактно от LR, сколько времени занимает достать файл из ресурса и, например, сложить его копию куда-то в станартные райтэбл пути?
Title: Re: Linux vs Windows
Post by: Tux on December 06, 2025, 04:49:07 pm
а если глянуть абстрактно от LR, сколько времени занимает достать файл из ресурса и, например, сложить его копию куда-то в станартные райтэбл пути?
Я не понимаю, что именно (и чем) вы предлагаете это сделать?

Пробовал этот файл просто положить рядом с исполняемым файлов - время обработки такое же. С профилировщиком есть проблема - я пока никак не могу его нормально заставить работать. Заморачиваюсь, наверно.
Да и что это даст - допустим, я найду функцию, работающую дольше других - и что? Наверняка, эта же функция будет вызываться и в винде...
Title: Re: Linux vs Windows
Post by: Subst on December 06, 2025, 07:25:53 pm
Наверняка.
Ты пришел и просищь помощи...
Автор проекта тебя просит посмотреть профайлером, где именно проявляются тормоза..
Видимо, это может ему о чем-то сказать.

Но ты уверен, что нет, Алексу ни о чем это не скажет.
Ну стало быть помощь тебе не нужна, зачем ты о ней просишь тогда?
Title: Re: Linux vs Windows
Post by: Tux on December 06, 2025, 08:59:32 pm
Удалось запустить профайлер. Я с ним раньше никогда не работал - результат его работы в прикрепленном файле.
Title: Re: Linux vs Windows
Post by: Arin Alex on December 09, 2025, 12:34:02 am
А можете запустить perf вот в такой конфигурации:

Code: [Select]
perf record -o ./perf.data --call-graph dwarf --sample-cpu ./demo_r1 {заменить на путь к вашему исполняемому файлу}
дождаться загрузки отчета и прислать мне perf.data
Title: Re: Linux vs Windows
Post by: Tux on December 09, 2025, 10:49:33 am
Да, могу. Машина другая, но соотношение win-lin примерно такое же.
P.S. Файл получается большим, даже в архиве - 12.3 Мб. Форум принимать не хочет. Куда лучше положить?
Title: Re: Linux vs Windows
Post by: Arin Alex on December 09, 2025, 04:10:42 pm
Можно на почту кинуть arin_a@bk.ru
Title: Re: Linux vs Windows
Post by: Tux on December 09, 2025, 08:10:35 pm
Отправил
Title: Re: Linux vs Windows
Post by: Arin Alex on December 14, 2025, 03:42:10 pm
Я отправил вам ответ на почту, пришло письмо ?
Title: Re: Linux vs Windows
Post by: Tux on December 15, 2025, 11:57:52 am
Да, письмо пришло. Просто думал, что вы здесь ответите, поэтому проверил ящик только сейчас.
valgrind посмотрю - отвечу.
Title: Re: Linux vs Windows
Post by: Tux on December 15, 2025, 01:17:08 pm
Отправил
Title: Re: Linux vs Windows
Post by: Tux on December 27, 2025, 09:21:23 pm
Получается, что это  только у меня проблема? На двух машинах.
Или, просто луноходов мало.
Хотя, решить бы хотелось. Хотя бы локально.
Title: Re: Linux vs Windows
Post by: Subst on December 28, 2025, 06:48:51 am
Хай!
Алекс смотрел, обсуждали не так давно с ним...
Полного представления не получили, ощущение, что на лине XML загадочно так читается.
Никто ранее не сталкивался, потому что, видимо, отчетов таких грандиозных никто не творил, по косвенным данным там у тебя 1.5 тысячи элементов.

1. можешь отчет на обозрение дать?
2. попробуй у себя просто для эксперимента прочитать XML (этот же), потсроив Dom модель - должно еще сильнее тормоза проявить - проверим
3. дай инфу про какой именно линь у тебя, какая версия кьюта - может тут что-то
Title: Re: Linux vs Windows
Post by: Tux on December 28, 2025, 12:41:34 pm
1. Если бы мог дать сам отчёт - прикрепил бы его гораздо раньше.
2. Попробую, конечно. На обоих системах. Только, пока не понимаю, что это даст.
3. Calculate Linux (это gentoo с оверлеем) Qt 6.9.3 Всё регулярно, штатно, обновляется.
Насчёт сложности отчёта - да как бы всего 8 страниц, таблица в БД всего одна, думаю, что таких отчётов полно должно быть. Да и в винде то нормально всё открывается.
Title: Re: Linux vs Windows
Post by: Tux on December 28, 2025, 01:10:42 pm
Накидал простейшую программу, читающую файл отчёта стандартным образом с помощью QDomElement. Рекурсивный обход всех элементов.
Прошло времени 199 msec
loadFromFile открывает этот же файл
Прошло времени 17002 msec
Title: Re: Linux vs Windows
Post by: Arin Alex on December 28, 2025, 02:29:12 pm
Я тут как-то неудачно приболел, поэтому долго не отвечал.
Я посмотрел результаты профилировки, и каких-то явных аномалий я не заметил.
Единственное, что бросается в глаза — большое количество элементов в шаблоне отчета (~1600 элементов).
Вы говорите, что у вас 8 страниц отчета, но мне это тоже ни о чем не говорит.
Можно сделать отчёт на сотни страниц, но в шаблоне у него будет 10 элементов.
Можете обфусцировать все элементы отчета так, чтобы было непонятно, о чём он? Мне чисто структура нужна.
Просто 1600 элементов — это реально дофига :) И то, что на виндах это нормально взлетает, тоже вызывает удивление
Title: Re: Linux vs Windows
Post by: Tux on December 28, 2025, 02:54:23 pm
Что есть в вашем понимании "элемент"? Просто TextItem или в сочетании с чем то?
Title: Re: Linux vs Windows
Post by: Arin Alex on December 28, 2025, 03:24:31 pm
Все из чего строится отчет: TextItem, Band и т.д.
Title: Re: Linux vs Windows
Post by: Tux on December 28, 2025, 03:46:45 pm
Ну, если так, то там даже по простым прикидкам будет 1600+ "элементов".
Да, так отчёты не составляют, но ТЗ бывает разным. Иногда бывает "чтобы всё было, как в прошлом отчёте, с точностью до долей миллиметра. Чтобы можно было бы впечатывать данные, поверх распечатанного отчёта".

Title: Re: Linux vs Windows
Post by: Subst on December 28, 2025, 06:51:37 pm
так... увидеть отчет нельзя
размер файла шаблона секретом не является?
Title: Re: Linux vs Windows
Post by: Tux on December 28, 2025, 07:25:48 pm
4.8 МиБ