I finally identified the cause of the performance slowdown in both PBv12 and PB2019R3. The problem is the DBPARM option "DisableBind=1".
SQLCA.DBParm = "DelimitIdentifier='No', PackageProcs=1, StaticBind=1"
Olan
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PowerBuilder v12.1 b7055 AND PB2019R3 b2703
Windows 10 platform, 64 bit
On VM #1: PB IDE not installed
1. Our main app has a module that generates invoices.
We have the same code in PBv12.1 (app A) and in PB2019R# (app B).
2. We want to migrated to PB2019R3, but the performance of app B is 5x slower than app A.
This is a showstopper.
3. Solution: Create a new app C by taking appA and deleting everything that is not Invoice Generation.
This will be a separate application; a separate EXE running on the PBv12 DLLs.
4. App A, app B, and app C are all in separate directories.
Each directory contains all the PBDs and DLLs required to run the app.
5. On the same platform:
run app A - takes 8 seconds to get to 13% complete on invoice #100
run app B - takes 63 seconds to get to 13% complete on invoice #100
and here's the stumper:
run app C - takes 63 seconds to get to 13% complete on invoice #100!!!!!!
Since app C was created from a PBv12.1 app, and was compiled in PBv12.1, and resides in its own folder and has all the PBv12 runtime files required to run the code, we expected app C to run as fast as app A. Instead, it runs as if it is using the app B runtime DLLs.
WHY???
How can we fix this?
Thank You,
Olan
~~~~~~~~~~~~~~~~~~~~~~~~~~~
On VM #2, where both PB2019R3 and PBv12.1 are installed:
run app A - takes 63 seconds to get to 13% complete on invoice #100
run app B - takes 63 seconds to get to 13% complete on invoice #100
run app C - takes 63 seconds to get to 13% complete on invoice #100
Yes, accessibility is turned off AND both acc PBDs are deployed with the app.
In the pb.ini deployed with the app:
[DataStore Behavior]
UseHwnd=No
[Data Window]
ACCESSIBILITY=0