PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

Home | Sign in | English US
  • Overview
  • Starting the performance profiler
  • Starting the performance profiler
  • Saving or opening a statistical file
  • Optimizing a process via the performance profiler
  • Reading the result of performance profiler
  • 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/iPadApple WatchUniversal Windows 10 AppWindows Mobile
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 run the test of your application. During this test, the performance profiler keeps track of all actions performed and the corresponding processes run.
At the end of test, the performance profiler displays:
  • the 10 most time consuming operations
  • all the actions performed in the application whose test was run, sorted by duration (from the longest one to the shortest one).
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 ("Project .. Performance profiler .. Analyze the performances").From the editor of WINDEV, WINDEV Mobile or WEBDEV: on the "Project" pane, in the "Audit and performances" group, expand "Analyze the performance" and select "Analyze the performance". In this case, the project is automatically run 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, all you have to do is exit from your application or from your site.
    Then, the performance profiler displays the monitoring result. This result is saved in the format of a WPF file.
    AndroidAndroid Widget iPhone/iPadApple WatchWindows MobileUniversal Windows 10 App The test is run in the simulator.
  • From one of your WLanguage processes, with the following functions:
    Versions 09 and later
    ProfilerEnd
    New in version 09
    ProfilerEnd
    ProfilerEnd
    Stops "collecting data" for the performance profiler.
    Versions 09 and later
    ProfilerStart
    New in version 09
    ProfilerStart
    ProfilerStart
    Starts "collecting information" for the performance profiler.

    In this case, only the code found between ProfilerStart and ProfilerEnd is analyzed. The corresponding WPF file can be opened in the performance profiler ("Project .. Performance profiler .. Performance report .. Open a profiler report").In this case, only the code found between ProfilerStart and ProfilerEnd is analyzed. The corresponding WPF file can be opened in the performance profiler: on the "Project" pane, in the "Audit and performances" group, expand "Analyze the performance" and select "Open a performance report".
  • Versions 15 and later
    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 the analysis report is copied into the clipboard.
    New in version 15
    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 the analysis report is copied into the clipboard.
    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 the analysis report is copied into the clipboard.
Notes:
  • We recommend that you use the performance profiler to optimize your application (before it is distributed for example).
  • Versions 19 and later
    If the "Performances" Widget is enabled in the Project dashboard, the performance profiler is automatically started whenever a project GO is run. 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
    New in version 19
    If the "Performances" Widget is enabled in the Project dashboard, the performance profiler is automatically started whenever a project GO is run. 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
    If the "Performances" Widget is enabled in the Project dashboard, the performance profiler is automatically started whenever a project GO is run. 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 by programming for example):
  1. Select "Project .. Performance profiler .. Performance report .. Open a performance report".On the "Project" pane, in the "Audit and performances" group, expand "Analyze the performance" and select "Open a performance report".
  2. Specify the path and name of the statistical file.
The list of the last statistical files opened can be found in "Project .. Performance profiler.. Performance report .. Last reports opened".To get the list of the last statistical files opened, on the "Project" pane, in the "Audit and performances" group, expand "Analyze the performance".
Versions 19 and later
Note: You also have the ability to open a statistical file from the "Performances" Widget found in the Project dashboard.
New in version 19
Note: You also have the ability to open a statistical file from the "Performances" Widget found in the Project dashboard.
Note: You also have the ability to open a statistical file from the "Performances" Widget found in the Project dashboard.
Optimizing a process via the performance profiler

Reading the result of performance profiler

The performance profiler presents the result of the analysis in two tabs:
  • the "Synthesis" tab presents the 10 longest processes.
  • the "Details" tab presents all the processes run during the application test (from the slowest one to the fastest one).
The following information is displayed for each process:
Number 1
ParentProcess that called the function.
Number 2
FunctionFunction, process or procedure run.
Number 3
Total TimeExecution time of the function.
Number 4
Nb of callsNumber of calls made to the function (procedure or process).
Number 5
Time 1 callExecution time of a call to the function (procedure or process)
Number  6
code %Percentage of time spent in the process of function or procedure (developer code that can be optimized).
Notes:
  • The "Full execution" caption represents the total amount of time for running the application test with the performance profiler.
  • The "Total for XXX Window" caption represents the total amount of time for running the XXX window (from its opening to its closing).

Choosing a process to optimize

The process to optimize is chosen according to several criteria:
  • The execution time of the process. The longest processes must necessarily 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.
Note: 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. Indeed, you have the ability to 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.
A double click performed on one of the functions found in this list (for example: "Click on Validate") is used to view the details of the processes called by this function.
Notes:
  • 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 required version
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment