powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Build and deploy PowerBuilder Application
16 сообщений из 16, страница 1 из 1
Build and deploy PowerBuilder Application
    #32377956
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, есть один вопрос. Как на Ваш взгляд лучше генерить приложение использовать Machine Code или нет? Вопрос не совсем праздный. У нас по этому поводу разгорелся жаркий спор, вот хотелось бы услышать все мнения.

Чтобы лучше обрисовать картину, скажу что на данный момент используем PowerBuilder 7.0.3 Build 10150, исходник приложения весит 93.2 М, сервер базы данных MS SQL Server 2000, на данный момент генерим приложение без использования Machine Code и оно весит 39.4 М

В ближайшем будущим планируется переход на PowerBuilder 9.0.1 Build 7066, сервер базы будет тот же, исходник на PowerBuilder 9.0.1 весит порядка 156 М.

Попробовал генерить на PowerBuilder 9.0.1 приложение с Machine Code на это дело ушло 4 ч. 5 мин., если без использования Machine Code - 8 мин.

И еще одно важное замечание, парк клиентских тачек, где собственно и будет использоваться приложение очень не однороден: есть машины 1996 г. и есть совсем новенькие Celeron - ы. Территориально клиентские машины тоже разнесены, по разным сеткам, соответственно связь между головной сеткой, где собственно и находится сервер базы данных, и подсетями разная, если я не ошибаюсь, то скорость не больше 512 (скорее всего даже меньше)
...
Рейтинг: 0 / 0
Build and deploy PowerBuilder Application
    #32377965
Moiseeff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я использую Pcode.
1. Идентичное поведение сгенерированного приложения, и приложения выполняемого из оболочки.
2. Малое время генерации приложения.
3. Скорость выполнения практически идентична, если не использовать циклы.
...
Рейтинг: 0 / 0
Build and deploy PowerBuilder Application
    #32377992
Я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я
Гость
Moiseeff1. Идентичное поведение сгенерированного приложения, и приложения выполняемого из оболочки. Вот это просто круто!!! :-))
...
Рейтинг: 0 / 0
Build and deploy PowerBuilder Application
    #32378047
Геннадич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совершенно согласен с Moiseeff
...
Рейтинг: 0 / 0
Build and deploy PowerBuilder Application
    #32378053
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>1. Идентичное поведение сгенерированного приложения, и приложения
>выполняемого из оболочки

К сожалению такое бывает не всегда.
...
Рейтинг: 0 / 0
Build and deploy PowerBuilder Application
    #32378370
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно понял, то большинство использует Pcode?
А как же скорость? Приложение у нас не хилое, насколько я понимаю при генерации Machine Code размер получается меньше, да и скорость работы в низкосоростной сети тоже имеет значение. И еще, кто-нибудь в курсе какова разница работы с памятью приложения сгенерированного двумя разными путями? В каком случае сжирается больше памяти?
...
Рейтинг: 0 / 0
Build and deploy PowerBuilder Application
    #32378384
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы тоже генерим в p-code.

ЗЫЖ Кстати, вот такая весч однажды случайно обнаружилась. Берем приложение и генерим его по очереди обоими способами. Полученные *.exe и *.pbd (*.exe и *.dll во втором случае) откидываем в разные папочки. А потом папочки "обмениваются" exe-файлами. Т.е. к *.dll идет ехе-файл от *.pbd и наоборот. Потом запускаем и из одной папки, и из второй. Как это ни странно - все работает и подмены не замечает...
---
С уважением, IKAR
ikarhomecenter@narod.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
Build and deploy PowerBuilder Application
    #32378390
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, в догонку: сие безобразие наблюдалось мной на РВ 6.0.5
---
С уважением, IKAR
ikarhomecenter@narod.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
Build and deploy PowerBuilder Application
    #32378475
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Black Savage Как на Ваш взгляд лучше генерить приложение использовать Machine Code или нет?
В свое время основываясь на трехлетнем опыте работы было принято решение забыть Machine Code как страшный сон :-). Так что, последние 5 лет использую только p-code.
Относительно времени генерации, то, IMHO, если исходники весят за 90 М, может имеет смысл подумать о разделении приложения на несколько?



Ikarк *.dll идет ехе-файл от *.pbd и наоборот. Потом запускаем и из одной папки, и из второй. Как это ни странно - все работает и подмены не замечает
Скорее всего, вы генерите каждый файл .pbl d соответствующий ему .pbd или .dll, а .exe содержит только запускалку для виртуальной машины.

А 6.0.5 - это не опечатка? AFAIK, версия 6.0 работала очень нестабильно, может имелось ввиду 6.5?
...
Рейтинг: 0 / 0
Build and deploy PowerBuilder Application
    #32378480
Andyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Black Savage
...насколько я понимаю при генерации Machine Code размер получается меньше, да и скорость работы в низкосоростной сети тоже имеет значение.


Неправда ваша, в PDB-шках меньше размер получается раза в 3 примерно. :)

А вообще мной было замечено следующее: при запуске приложения скомпилированного в Р-код с передачей параметров в командной строке на системах под WinNT 4 rus наблюдалась ошибка Fatal Disk Error и приложение завершает работу. При запуске того же приложения без параметров - все работает нормально. Если скомпилировать приложение в машинных кодах, то с теми же условиями запуска под NT 4 все работает нормально, зато такая ошибка возникает в Win2000 rus. В Win98 и XP в обоих случаях все работает.

Решить проблему удалось только указав при компиляции опцию Error Context Information.

Что касается использования памяти - одно и тоже приложение (не очень большое) запущенное с одними и теми же данными использует память так (в скобках размер файлов на диске):

M-code Speed - 14016 K (6234 К)
M-code Space - 13812 K (5880 К)
P-code - 10008 K (2874 К)

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

База Sybase ASE 12.5
PB 9.0.1.6553
...
Рейтинг: 0 / 0
Build and deploy PowerBuilder Application
    #32378952
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 PL99:
Да, это опечатка. Спасибо, что заметили и поправили меня! На самом деле версия 6.5.1
---
С уважением, IKAR
ikarhomecenter@narod.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
Build and deploy PowerBuilder Application
    #32379049
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В догонку.

1) Exception handling (PB8 +) НЕ работает в DLL builds

2) почитайте вот это про DLL builds
http://www.techno-kitten.com/Troubleshooting/Machine_Code/machine_code.html

3) За всё время существования возможности DLL builds я имел дело с множеством разнообразных приложений. Ни одно из них НЕ улучшилось от DLL builds.
...
Рейтинг: 0 / 0
Build and deploy PowerBuilder Application
    #32379101
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С выходом PB9 исчезла единственная "значимая" причина использования машинного кода: более высокая скорость на циклах.
Теперь критичные по скорости участки можно выполнять с использованием PBNI.

По остальным критериям - машинный код хуже, причем существенно.
...
Рейтинг: 0 / 0
Build and deploy PowerBuilder Application
    #32379708
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за ответы!
...
Рейтинг: 0 / 0
Build and deploy PowerBuilder Application
    #32381738
___vlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сведению . Дока по PB9

Machine code If you need to build machine code DLLs, you cannot use exception handling. The process of building machine code does not support the exception handling mechanism. Attempts to compile machine code DLLs from code that uses exception handling fail and display an error message. For more information about choosing between Pcode (PBDs) and machine code (DLLs), see "Compiler basics".
...
Рейтинг: 0 / 0
Build and deploy PowerBuilder Application
    #32385982
roleks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Exception handling support in machine code

In previous releases of PowerBuilder, you could not use try-catch statements in your code if you planned to distribute your application with machine code DLLs instead of PBDs. This restriction has been removed in PowerBuilder 10.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Build and deploy PowerBuilder Application
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]