1. Olan Knight
  2. PowerBuilder
  3. Friday, 27 August 2021 21:37 PM UTC

I finally identified the cause of the performance slowdown in both PBv12 and PB2019R3. The problem is the DBPARM option "DisableBind=1".

Removing the DISABLEBIND=1 from the DBPARMS resolves the issue in both PBv12.1 and PB2019R3.
 
Solution:
Change the DBPARM
   from this:
        SQLCA.DBParm = "DelimitIdentifier='No', DisableBind=1, PackageProcs=1, STATICBIND=1"
   to this:
         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


Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Friday, 27 August 2021 22:38 PM UTC
  2. PowerBuilder
  3. # 1

Hi Olan;

  PB gets its DW rendering from the default printer. A make sure that the default is a real printer not virtual. The printer selection can make a huge difference!

  Also...

Have you turned off "accessibility"?

Have you turned off Data Store "handles"?

Regards ... Chris

Comment
  1. Olan Knight
  2. Saturday, 28 August 2021 15:05 PM UTC
I'll check that on Monday.

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
  1. Helpful
There are no comments made yet.
Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Friday, 27 August 2021 22:37 PM UTC
  2. PowerBuilder
  3. # 2

So I think what you are saying is there is some problem with the app itself not necessarily difference in PB 12.x and 2019?

Comment
  1. Olan Knight
  2. Saturday, 28 August 2021 15:02 PM UTC
It >>> MAY <<< be that the difference in performance is environmental in nature. I don't know yet. On monday, my boss and I are going to start looking at this in detail. Seeing that the PBv12 code was performing on my development VM >>> exactly <<< as slow as PB2019 gave me a sliver of hope that the issue is environmental in nature. That's really all I know at this time. I'll let everyone know what we find.



Note that in any environment, PB2019R3 is processing at least 5x slower than thesame codecompiled in PBv12.1.

  1. Helpful
  1. Armeen Mazda @Appeon
  2. Saturday, 28 August 2021 15:52 PM UTC
Please keep us updated. Thanks.
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.