PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

Home | Sign in | English US
  • Overview
  • Implementing and using the JITc technology
  • The JITc technology is used by default
  • Specific processes that disable the JITc technology
  • Tips for optimizing the benefit of the JITc technology
  • How to disable the JITc technology?
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Overview
The principle of JITc technology (Just In Time Compilation) is straightforward: the 5GL code of WINDEV is changed on the runtime computer into "native assembler code" when it is run.
The execution speed is faster on all the WLanguage commands. The speed is up to 15 times faster for the assignment loops and up to 7 times faster for the calculations performed on integers and reals.
Some important scientific processes can now be easily performed by WINDEV via this technology.
For a standard management application, the gain of speed is about 8%.
Implementing and using the JITc technology

The JITc technology is used by default

This technology is directly applied to the executable. While the application is run, the code run is changed into assembler code and run. Only the necessary code is compiled (improving the performance of the application).
An application that is using the JITc technology consumes a little more memory: the space required by the generated assembler code.
For your own information: Some codes are not taken into account when using the JITc technology:
  • The calls to dbgAssert. Indeed, this function is intended for the test mode only.
  • When using conditional target-codes, only the code corresponding to the current platform is taken into account. The other codes are not compiled.

Specific processes that disable the JITc technology

The JITc technology is not used when the application GO is performed from the editor.
This technology is also automatically disabled:
  • When the profiler is enabled.
  • When the runtime logs are enabled.
  • When the application is debugged remotely.
The JITc technology will be automatically re-enabled during the next start of the application.

Tips for optimizing the benefit of the JITc technology

By default, the JITc technology is used to increase the speed of your WINDEV applications. Some simple rules are used to maximize the benefit of the JITc technology. All you have to do is slightly modify the source code:
  • Use local variables instead of global variables:
    In some cases, it may be easier to declare global variables while a local variable is good enough. In this case, the global variable should be replaced by a local variable. For example, a global variable is passed in parameter to a procedure while this variable is not modified by this procedure. The global variable may be replaced by a local variable.
  • Type the local variables used in the WLanguage procedures:
    In the declaration code of the procedures, the parameters expected by the procedure should be typed. The performance of the application will be optimized (especially for real or integer parameters).
    For example: Replace the following code:
    PROCEDURE MyCalculation(VarA, VarB, VarC)

    by:
    PROCEDURE MyCalculation(VarA is real, VarB is real, VarC is real)
Versions 18 and later
The JITc technology applies to the following types of code:
  • OOP: object-oriented programming, class, methods, members, ...
  • The structures: declaration of structure variables.
In order for the JITc technology to be efficient, we advise you to specify the type of the variables or members as well as the type of the parameters passed to the methods of classes.
New in version 18
The JITc technology applies to the following types of code:
  • OOP: object-oriented programming, class, methods, members, ...
  • The structures: declaration of structure variables.
In order for the JITc technology to be efficient, we advise you to specify the type of the variables or members as well as the type of the parameters passed to the methods of classes.
The JITc technology applies to the following types of code:
  • OOP: object-oriented programming, class, methods, members, ...
  • The structures: declaration of structure variables.
In order for the JITc technology to be efficient, we advise you to specify the type of the variables or members as well as the type of the parameters passed to the methods of classes.

How to disable the JITc technology?

To disable the JITc technology in an application, you have the ability to use ExecutionMode.
If you have suspicions regarding problems linked to the JIT technology, you also have the ability to disable this technology:
  • on the current computer by modifying the WINI.INI file.
    The modification made to the WIN.INI file disables the JITc technology on the current computer: all the WINDEV applications installed on this computer (including WINDEV itself) will not use this technology anymore. To do so, add the following code lines:
    [WD_EXECUTION]
    OPTIM_EXECUTION=0
  • for a specific application, by modifying (or adding) the <Executable Name>.WX file.
    This file is found beside the executable. To disable the JITc technology, add the following lines:
    [WD_EXECUTION]
    OPTIM_EXECUTION=0
If a problem lilnked to the JITc technology occurs, get in touch with the Technical Support of PC SOFT.
Minimum required version
  • Version 11
Comments
Click [Add] to post a comment