Page 1 of 2

Latest FWH upgrade, performance issues, larger EXE

Posted: Tue Jul 10, 2018 9:11 pm
by cdmmaui
Hello Everyone,

We recently upgraded our version of FWH and BCC and we started getting complaints that system was slow and not responding to clicks within the application. Our application has been around for a very long time and we have not had any complaints about performance. I actually watched customer run application and load data (DBFCDX). The DBFs are very large but that has not been a problem until very recently. Our main purpose of the upgrade was to utilize XBROWSE and we had to remove XBROWSE because LISTBOX performed better with large DBFs.

I have noticed that the EXE are over 1 MB larger than before.

I am wondering if I need all the LIB in the link script. Can someone help and let me know if all the LIB below are ABSOLUTELY necessary? Can someone provide a list of CORE lib and then I can add the necessary LIB based on application requirements?

Thank you in advance for your assistance!

@echo %fwh%\lib\FiveH.lib %fwh%\lib\FiveHC.lib + >> b32.bc
@echo %hdir%\lib\hbwin.lib + >> b32.bc
@echo %hdir%\lib\gtgui.lib + >> b32.bc
@echo %hdir%\lib\hbrtl.lib + >> b32.bc
@echo %hdir%\lib\hbvm.lib + >> b32.bc
@echo %hdir%\lib\hblang.lib + >> b32.bc
@echo %hdir%\lib\hbmacro.lib + >> b32.bc
@echo %hdir%\lib\hbrdd.lib + >> b32.bc
@echo %hdir%\lib\rddntx.lib + >> b32.bc
@echo %hdir%\lib\rddcdx.lib + >> b32.bc
@echo %hdir%\lib\rddfpt.lib + >> b32.bc
@echo %hdir%\lib\hbsix.lib + >> b32.bc
@echo %hdir%\lib\hbdebug.lib + >> b32.bc
@echo %hdir%\lib\hbcommon.lib + >> b32.bc
@echo %hdir%\lib\hbpp.lib + >> b32.bc
@echo %hdir%\lib\hbcpage.lib + >> b32.bc
@echo %hdir%\lib\hbcplr.lib + >> b32.bc
@echo %hdir%\lib\hbct.lib + >> b32.bc
@echo %hdir%\lib\hbpcre.lib + >> b32.bc
@echo %hdir%\lib\xhb.lib + >> b32.bc
@echo %hdir%\lib\hbziparc.lib + >> b32.bc
@echo %hdir%\lib\hbmzip.lib + >> b32.bc
@echo %hdir%\lib\hbzlib.lib + >> b32.bc
@echo %hdir%\lib\minizip.lib + >> b32.bc
@echo %hdir%\lib\hbusrrdd.lib + >> b32.bc
@echo %hdir%\lib\hbtip.lib + >> b32.bc
@echo %hdir%\lib\rddads.lib + >> b32.bc
@echo %hdir%\lib\Ace32.lib + >> b32.bc
@echo %fwh%\lib\barlib32.lib + >> b32.bc
@echo %bcdir%\lib\cw32.lib + >> b32.bc
@echo %bcdir%\lib\uuid.lib + >> b32.bc
@echo %bcdir%\lib\import32.lib + >> b32.bc
@echo %bcdir%\lib\ws2_32.lib + >> b32.bc
@echo %bcdir%\lib\psdk\odbc32.lib + >> b32.bc
@echo %bcdir%\lib\psdk\nddeapi.lib + >> b32.bc
@echo %bcdir%\lib\psdk\iphlpapi.lib + >> b32.bc
@echo %bcdir%\lib\psdk\msimg32.lib + >> b32.bc
@echo %bcdir%\lib\psdk\psapi.lib + >> b32.bc
@echo %bcdir%\lib\psdk\rasapi32.lib + >> b32.bc
@echo %bcdir%\lib\psdk\gdiplus.lib + >> b32.bc
@echo %bcdir%\lib\psdk\shell32.lib, >> b32.bc

Re: Latest FWH upgrade, performance issues, larger EXE

Posted: Wed Jul 11, 2018 6:29 am
by Antonio Linares
Darrell,

Has there been any changes in the network configuration, Windows versions, more machines, etc of your client ?

Could you test also the older app version to see if that solves the performance issue ?

No need to remove any libs when linking

Re: Latest FWH upgrade, performance issues, larger EXE

Posted: Wed Jul 11, 2018 12:19 pm
by cnavarro
Darrell
A curiosity
Do you use a footer with totals (MakeTotals) in the xbrowse?

Re: Latest FWH upgrade, performance issues, larger EXE

Posted: Wed Jul 11, 2018 1:36 pm
by Rick Lipkin
Darrell

As Cristobol mentions .. MakeTotals on large databases take quite a while to render ... if this is the case .. I use some logic like this:

Code: Select all

If(oRsWork:RecordCount() <= 1000,oLbx:MakeTotals(),
 
Also, you may want to consider a commercial .Exe 'shrinker' ... I use a product called Aspack and I think I payed around 80 USD for the program several years ago and the company continues to allow me new upgrades .. Typically a 10mg .Exe will shrink down to less than 2.5 mg and that significant difference in size does make a difference in load time without sacrificing any performance at run-time. An extra benefit is that Aspack protects you from anyone trying to reverse engineer your .Exe and from revealing ANY information about your .EXE when examined with a Hex editor.

http://www.aspack.com/aspack.html

Image

There are other Free executable Shrinkers on the market and some other FWH developers may be able to chime in with their favorite Shrinker.

Thanks
Rick Lipkin

Re: Latest FWH upgrade, performance issues, larger EXE

Posted: Wed Jul 11, 2018 3:36 pm
by Adolfo
I use UPx as ece, lib, dll compressor

FREE, fast and 100% compatible.

https://upx.github.io/

Re: Latest FWH upgrade, performance issues, larger EXE

Posted: Wed Jul 11, 2018 3:40 pm
by cnavarro
Adolfo wrote:I use UPx as ece, lib, dll compressor

FREE, fast and 100% compatible.

https://upx.github.io/
I also use UPX but in some antivirus systems it gives a false positive the executables it generates.

Re: Latest FWH upgrade, performance issues, larger EXE

Posted: Thu Jul 12, 2018 4:25 am
by anserkk
What about the count of deleted records in the DBF files. ? This may slow down the read/write.

Re: Latest FWH upgrade, performance issues, larger EXE

Posted: Thu Jul 12, 2018 5:37 am
by cdmmaui
Thank you everyone for your responses.

We do not use footers or calculate any totals on the databases.

Antonio, there has been no changes to network or environment, customer is using RemoteApp and/or Remote Desktop to access application on server.

Rick, thank you for the compressor idea, I will review product.

Anser, DBF are packed and reindexed on a weekly basis so that would not be issue.

The complaint really started after we upgraded from an older version of FWH to current version.

One question I have is the idea about moving to the 64 bit version of FWH? Would that improve performance?

I would have to update Barlib to 64 bits as we did when we moved from 16 bit to 32 bit many years ago, Antonio, please confirm?

Thank you again everyone for your feedback, I appreciate it!

Re: Latest FWH upgrade, performance issues, larger EXE

Posted: Thu Jul 12, 2018 6:36 am
by Antonio Linares
Darrell,

Could you try again the older app to check that it keeps performing faster ?
What you describe seems to be related to changes in the network.

64 bits may not improve speed unless the app manages a lot of data

Re: Latest FWH upgrade, performance issues, larger EXE

Posted: Thu Jul 12, 2018 6:43 am
by cdmmaui
Hi Antonio,

We loaded an older app from another customer and application worked better. We are looking at moving back to that version to please customer as a temporary fix until we move to xBase++ web application.

Re: Latest FWH upgrade, performance issues, larger EXE

Posted: Thu Jul 12, 2018 7:26 am
by hmpaquito
until we move to xBase++ web application.
Responsive web app ?

Re: Latest FWH upgrade, performance issues, larger EXE

Posted: Thu Jul 12, 2018 7:39 am
by Antonio Linares
Darrell,

What FWH and Harbour versions are you using with the older app ?

Re: Latest FWH upgrade, performance issues, larger EXE

Posted: Thu Jul 12, 2018 7:44 am
by Enrico Maria Giordano
Rick Lipkin wrote:I use a product called Aspack and I think I payed around 80 USD for the program several years ago and the company continues to allow me new upgrades
From their website:
Please check a product and type of your Annual license.
So, you should re-pay each years. Or am I wrong?

EMG

Re: Latest FWH upgrade, performance issues, larger EXE

Posted: Thu Jul 12, 2018 9:57 am
by Diego Decandia
I may have the same problem as Darrell.
After going from 17.04 to 18.02, I provided an update to a customer and reported a significant slowdown in the application.

I do not have for now other info, nor ideas, since the update did not change any of the procedures that the customer has reported to me...
The impression is that the problem concerns do while loops, but it is difficult to be sure or to test changes from the customer.
The executable works locally, the DBF are on the server.

Re: Latest FWH upgrade, performance issues, larger EXE

Posted: Thu Jul 12, 2018 10:06 am
by Enrico Maria Giordano
Diego Decandia wrote:The impression is that the problem concerns do while loops,
Can you show a simple test of a loop showing the slowdown?

EMG