Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Alex Custov от Февраль 26, 2012, 13:41



Название: Не всё так гладко в статическом королевстве
Отправлено: Alex Custov от Февраль 26, 2012, 13:41
Один статический windows бинарник это, конечно, хорошо:

+
1) один файл легко копировать с машины на машину
2) он занимает меньше места, чем динамик+библиотеки

И в то же время по моим тестам получается, что

-
1) в статической сборке программа запускается в три раза медленнее, чем первый раз в динамике. И в пять раз медленнее, чем второй и следующие разы в динамике. UPX-нутый бинарник запускается немного быстрее, но динамик всё равно быстрее.
2) в статической сборке программа первый раз открывает виндовый файл диалог секунд 5. Последующие разы открывает гораздо быстрее, но это бесит. В динамике открывается всегда быстро.
3) в статической сборке нельзя использовать webkit. Собственно, из-за него и начал тестировать динамик сборку.

Перешёл на динамик, ибо скорость важнее. И webkit нужен. Тесты проводились на Qt 4.8.0, MinGW (GCC 4.6.1), Win7 x32.


Название: Re: Не всё так гладко в статическом королевстве
Отправлено: _OLEGator_ от Февраль 26, 2012, 18:19
Статическая сборка для начинающих энтузиастов. По началу тоже с ней заморачивался. Гемора много, когда понадобились плагины, то сразу отошел от статической сборки - выигрыш от нее только, что dll с собой таскать не надо - а в динамической положил их все в нужные места и все работает. Поддерживаю распространение программы в виде динамической сборки. =)


Название: Re: Не всё так гладко в статическом королевстве
Отправлено: Пантер от Февраль 27, 2012, 09:09
Статика не нужна.


Название: Re: Не всё так гладко в статическом королевстве
Отправлено: Авварон от Февраль 27, 2012, 09:41
Статика не нужна.
+1


Название: Re: Не всё так гладко в статическом королевстве
Отправлено: GreatSnake от Февраль 27, 2012, 10:37
Статика не нужна.
Мало того противопоказана в коммерческих приложениях.


Название: Re: Не всё так гладко в статическом королевстве
Отправлено: ufna от Февраль 27, 2012, 10:59
ну-ну.

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

статика обязана быть. Хотя в большинстве случаев она и не нужна.