|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
Господа, есть один вопрос. Как на Ваш взгляд лучше генерить приложение использовать 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 (скорее всего даже меньше) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 09:19 |
|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
Я использую Pcode. 1. Идентичное поведение сгенерированного приложения, и приложения выполняемого из оболочки. 2. Малое время генерации приложения. 3. Скорость выполнения практически идентична, если не использовать циклы. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 09:31 |
|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
Moiseeff1. Идентичное поведение сгенерированного приложения, и приложения выполняемого из оболочки. Вот это просто круто!!! :-)) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 09:53 |
|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
Совершенно согласен с Moiseeff ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 10:19 |
|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
>1. Идентичное поведение сгенерированного приложения, и приложения >выполняемого из оболочки К сожалению такое бывает не всегда. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 10:21 |
|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
Если я правильно понял, то большинство использует Pcode? А как же скорость? Приложение у нас не хилое, насколько я понимаю при генерации Machine Code размер получается меньше, да и скорость работы в низкосоростной сети тоже имеет значение. И еще, кто-нибудь в курсе какова разница работы с памятью приложения сгенерированного двумя разными путями? В каком случае сжирается больше памяти? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 13:04 |
|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
Мы тоже генерим в p-code. ЗЫЖ Кстати, вот такая весч однажды случайно обнаружилась. Берем приложение и генерим его по очереди обоими способами. Полученные *.exe и *.pbd (*.exe и *.dll во втором случае) откидываем в разные папочки. А потом папочки "обмениваются" exe-файлами. Т.е. к *.dll идет ехе-файл от *.pbd и наоборот. Потом запускаем и из одной папки, и из второй. Как это ни странно - все работает и подмены не замечает... --- С уважением, IKAR ikarhomecenter@narod.ru IkarHomeCenter ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 13:12 |
|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
Да, в догонку: сие безобразие наблюдалось мной на РВ 6.0.5 --- С уважением, IKAR ikarhomecenter@narod.ru IkarHomeCenter ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 13:13 |
|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
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? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 13:54 |
|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 13:57 |
|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
2 PL99: Да, это опечатка. Спасибо, что заметили и поправили меня! На самом деле версия 6.5.1 --- С уважением, IKAR ikarhomecenter@narod.ru IkarHomeCenter ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 17:46 |
|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
В догонку. 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. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 19:11 |
|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
С выходом PB9 исчезла единственная "значимая" причина использования машинного кода: более высокая скорость на циклах. Теперь критичные по скорости участки можно выполнять с использованием PBNI. По остальным критериям - машинный код хуже, причем существенно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 21:18 |
|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
Всем спасибо за ответы! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2004, 08:52 |
|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
К сведению . Дока по 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". ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2004, 14:39 |
|
Build and deploy PowerBuilder Application
|
|||
---|---|---|---|
#18+
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. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2004, 12:25 |
|
|
start [/forum/topic.php?fid=15&msg=32377992&tid=1339340]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
172ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 294ms |
0 / 0 |