- Olan Knight
- PowerBuilder
- Wednesday, 14 April 2021 03:08 PM UTC
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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PBv12.1 b7055 & PB2019R3 b2670
Oracle 12C
Windows 64 bit platform
The main function of our primary app is to generate invoices. All of the code is internal to Powbuider, using PB script, DWs, and embedded SQL. We have migrated this huge app to 2019R3 and like it, but we've run into a show-stopper: the 2019R3 version of the app is 5 times slower than the PBv12.1 version when generating invoices.
In a desperate attempt to gain processing speed, I have compiled the app into Machine Code, i.e. DLLs instead of PBDs. We tested the DLL version of the 2019R3 app against the PBD version ofthe PBv12.1 app, and the 12.1 version was 5 times faster. Five large invoices (a very small subset) required 7.1 seconds in v12.1 and required 29.7 seconds in 2019R3. We tested with the exact same code on the exact same platform using the same invoices running against the same database.
I've no idea why 2019R3 is so much slower, and I really did not expect that to be the case. But it is what it is, and it's a show-stopper. We will not deploy the 2019R3 version of the code until the processing performance matches that of PBv12.1, or at least get close to it.
This is a shame, because 2019R3 is the preferred version, and the code it creates works with the Windows 2019 server under Citrix, and the 12.1 version does NOT. So....we'd LOVE to migrate, but cannot do so at this time.
Q1: Does anyone have any suggestions on how to speed up the processing of 2019R3?
I expected the DLL version of the application to be significantly faster than the PCODE version, yet the performance of both versions of the code was nearly identical.
Q2: Was my expectation unrealistic?
Q3: Does having the "Enable DEBUG Symbol" option checked make any difference?
Find Questions by Tag
Helpful?
If a reply or comment is helpful for you, please don’t hesitate to click the Helpful button. This action is further confirmation of their invaluable contribution to the Appeon Community.