ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / Editors / Project editor
  • Overview
  • Starting the performance profiler
  • Starting the performance profiler
  • Saving or opening a statistical file
  • Optimizing a process via the performance profiler
  • Reading the performance profiler results
  • Choosing a process to optimize
  • Optimizing a process
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Overview
The performance profiler (also called Profiler) is used to check and optimize the execution time of your application.
The principle is straightforward:
You test your application. During the test, the performance profiler keeps track of all actions performed and the corresponding processes run.
At the end of the test, the performance profiler displays:
  • the 10 most time-consuming operations
  • all actions performed in the application that was tested, sorted by duration (from the longest to the shortest action).
You have the ability to select a specific process in order to analyze the reasons for its duration.
WEBDEV - Server code The performance profiler does not operate with an AWP site.
Starting the performance profiler

Starting the performance profiler

The performance profiler can be started:
  • From the editor of WINDEV, WINDEV Mobile or WEBDEV: on the "Project" tab, "Audit and performance" group, expand "Analyze performance" and select "Analyze performance". In this case, the project is automatically executed in test mode. The process to optimize can be run in your application.
    To go back to the editor of WINDEV, WINDEV Mobile or WEBDEV, simply exit your application or site.
    The performance profiler displays the result of the analysis. This result is saved as a WPF file.
    Universal Windows 10 AppAndroidAndroid Widget iPhone/iPadApple Watch The test is run in the simulator.
  • From one of your WLanguage processes, with the following functions:
    ProfilerEndStops "collecting data" for the performance profiler.
    ProfilerStartStarts "collecting information" for the performance profiler.
    In this case, only the code between ProfilerStart and ProfilerEnd will be analyzed. The corresponding WPF file can be opened in the performance profiler: on the "Project" tab, in the "Audit and performance" group, expand "Analyze performance" and select "Open a performance report".
  • From any application: pressing WIN + Shift + F10 has the same effect as the call to ProfilerStart. In this case, the analysis ends:
    • when the application is stopped,
    • via WIN + Shift + F11.
    When the recording stops, the location of analysis report is copied to the clipboard.
Remarks:
  • We recommend that you use the performance profiler to optimize your application (before it is distributed for example).
  • If the "Performance" widget is enabled in the Project dashboard, the performance profiler is automatically started whenever the project is tested (via "GO"). The corresponding performance report is saved in the project directory. If a problem occurs, a click on the link "Click here to see the details" allows you to display the performance report.
    Performance Profiler widget

Saving or opening a statistical file

By default, the performance profiler saves the statistics performed on the code of the application in a "<Project Name>.WPF" file.
To change this name, click the "Save as..." button in the performance profiler.
To open a specific statistical file (a file created through programming for example):
  1. On the "Project" tab, in the "Audit and performance" group, expand "Analyze performance" and select "Open a performance report".
  2. Specify the path and name of the statistics file.
To get the list of the last statistics files opened, go to the "Project" tab, "Audit and performance" group, expand "Analyze performance". Remark: You can also open a statistics file from the "Performance" widget in the Project dashboard.
Optimizing a process via the performance profiler

Reading the performance profiler results

The performance profiler presents the result of the analysis in two tabs:
  • the "Synthesis" tab presents the 10 longest processes.
  • the "Details" tab shows all the processes run during the test of the application (from the slowest to the fastest).
The following information is displayed for each process:
Number 1
ParentElement or process that called the function.
Number 2
FunctionFunction, process, event or procedure run.
Number 3
Total timeFunction execution window.
Number 4
Nb of callsNumber of calls made to the function (procedure, event or process).
Number 5
Time 1 callExecution time of a call to the function (procedure, event or process)
Number  6
code %Percentage of time it took to process the function or procedure (developer code that can be optimized).

Remarks:
  • "Full execution" represents the total execution time of the application test in the performance profiler.
  • "Total for XXX Window" represents the total execution time of a given window (from the moment it is opened until closed).

Choosing a process to optimize

The processes to be optimized are chosen based on several criteria:
  • The process execution time. The longest processes must be optimized.
  • The percentage of time spent in the process of the function or procedure. The higher this percentage is, the greater the number of processes that can be optimized in the code.
Remark: If the process corresponds to a WLanguage function, it is fairly hard to optimize it.

Optimizing a process

Once the process to optimize is chosen, the performance profiler enables you to find out the details of the operations performed.
To display the details of the operations performed in a process:
  1. Select the function to optimize in the "Details" tab.
  2. Display the details of this function:
    • double-click the function.
    • click the "Calls" button.
  3. The following tab is displayed:
    This tab is divided into three sections:
    • The list of functions calling the selected process.
    • The selected function (with the number of calls to this function and the total processing time).
    • The list of functions called by the selected function.
The list of functions called is used to improve the search for the process to optimize. You can view the different functions called as well as the processing time of each function.
All the processes containing a WLanguage code (named "Developer code") can be optimized.
Double-clicking one of the functions in this list (for example: "Click on Validate") shows the details of the processes called by this function.
Remarks:
  • The "Internal process of runtime engine" caption corresponds to the execution time of the function or procedure (for a WLanguage function for example). This time cannot be reduced and it cannot be optimized.
  • The "Developer code" caption corresponds to the execution time of the function or procedure. This time can be reduced and it can be optimized.
  • To quickly view the current process, all you have to do is click Code icon. The profiler remains opened and the current code can be modified.
  • The "Previous" button is used to go back to the calling function.
  • The "Start" button is used to go back to the process found at the beginning of the application.
  • If the application includes several threads, only the main thread is taken into account.
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 05/26/2023

Send a report | Local help