1. Eu 3.1.1 Speed
- Posted by Rad Aug 19, 2009
- 1085 views
Hi,
I am using Eu3.1.1 with win32lib v0.70.19 + Judith Evans IDE 1.0.4 for my projects on a Sony VAIO 1.60GHz. + 1.2GB RAM + WinXP SP2
I have a project with total 43 screens/windows.
The program sequence is : 1] Display Splash screen 2] Accept and Authenticate User login details 3] Generate Menu Items depending on User Category/Access Rights 4] Display Main Application Window with generated menu
In the Main Window I have around 28 common include files (win32lib.ew + other .ew/.e files) having various global functions/procedures under [Begin/Version] section. This section also connects to the ODBC/MySQL Database and sets up global variables for the application.
All the other windows in the project have been specified as child windows of the Main Window.
Each child window has its own variables, functions, procedures defined in its own [General] section. w32HOpen and w32HActivate sections generate required Combos, ListViews, TreeViews etc. dynamically for that child window.
The total exe size after binding comes to around 2.5MB
My concern is the high time taken by the exe at the initial loading. It takes almost 110+ seconds to display the first Splash screen.
I put the display statements at the beginning and end of the [Begin] section of Main Window and also at the [General] section of all windows.
The [Begin] section (including ODBC/MySQL Database connection) was completed within first 7-8 seconds, but it took a considerable time to arrive at first [General] section. Once the control gets to [General] section, all the windows are processed within next 15-17 seconds and the Splash screen is displayed.
For similar projects (same [Begin/Version] section) with -
22 windows the load time is about 48 seconds.
Opening the .exw file for the project, the work being done between the end of [Begin/Version] and first [General] section is of creating all the controls of the application.
Is there any way I can reduce this initial delay in loading the program?
Thanks & Regards, Rad.
2. Re: Eu 3.1.1 Speed
- Posted by alanjohnoxley Aug 19, 2009
- 1122 views
Hi, Is there any difference if you translate/compile it?
3. Re: Eu 3.1.1 Speed
- Posted by mattlewis (admin) Aug 19, 2009
- 1081 views
Is there any way I can reduce this initial delay in loading the program?
The first thing to try, as has already been suggested, is to translate and compile the application.
The next thing I'd try would be to defer initialization of all of your windows. I can think of a couple of ways to do this. Either way will probably require you to move the create() calls to a routine from the top level. Now, assuming you use openWindow (my win32lib-fu is rusty, so insert whatever the correct routine is) to display a child window, I'd suggest wrapping this into your own procedure.
This procedure would need to have knowlegde of which windows have been initialized and which haven't, so that if the requested window hasn't been created, etc, then it does so before telling win32lib to open the window.
A variation on that would be to use a timer to begin initializing child windows after the main window is displayed. You'd probably still need the other stuff, just in case a user wanted a window before you'd gotten around to initializing it.
Matt
4. Re: Eu 3.1.1 Speed
- Posted by Rad Aug 23, 2009
- 959 views
Hi,
I downloaded and used Borland C v5.5.1 free compiler for translation. Watcom C Compiler v1.8 is a huge 73+MB download which I am trying to download on my dialup connection.
The Translated Exe file sizes went up by almost 3-4 times than the Euphoria Exe, but I could use UPX to get them down substantially.
The speed differences were noticed as follows:
Project with screens Euphoria Exe EuToC Exe
43 110 77 22 48 31 16 18 13 11 16 11
Still more than 1 minute to load the program might be considered too high.
Watcom is supposed to generate faster and smaller executables.
Has anybody compared Borland against Watcom? If so is it worth going for Watcom? I am planning to try out Watcom when (and if) I am able to download the same.
Also, while using EuToC Translator ecw.exe, how to incorporate an icon for the exe being generated? (as possible while binding Eu Exe) Are there any parameters to be passed for including an icon for exe?
Thanks & Regards, Rad.
5. Re: Eu 3.1.1 Speed
- Posted by DerekParnell (admin) Aug 23, 2009
- 958 views
I am planning to try out Watcom when (and if) I am able to download the same.
Version 4 OpenEuphoria is not supporting Borland anymore. Watcom is the preferred compiler on the Windows environment.
6. Re: Eu 3.1.1 Speed
- Posted by Rad Aug 25, 2009
- 878 views
I am planning to try out Watcom when (and if) I am able to download the same.
Version 4 OpenEuphoria is not supporting Borland anymore. Watcom is the preferred compiler on the Windows environment.
Ok, then I have to somehow get Watcom downloaded for Eu4.0.
Thanks & Regards, Rad.