PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Présentation
  • Mettre en place et utiliser la technologie JITc
  • La technologie JITc est utilisée par défaut
  • Traitements spécifiques désactivant la technologie JITc
  • Conseils pour optimiser les effets de la technologie JITc
  • Comment désactiver la technologie JITc ?
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Présentation
Le principe de la technologie JITc (Just In Time Compilation) est très simple : le code L5G de WINDEV est transformé sur la machine d'exécution en "code assembleur natif" lors de son exécution.
La vitesse d'exécution est plus rapide sur toutes les instructions WLangage. La vitesse est jusqu'à 15 fois plus rapide pour les boucles d'affectation et jusqu'à 7 fois plus rapide pour les calculs sur les entiers et les réels.
Certains traitements scientifiques lourds deviennent facilement envisageables avec WINDEV grâce à cette technologie.
Pour une application de gestion classique, le gain de vitesse est environ de 8%.
Mettre en place et utiliser la technologie JITc

La technologie JITc est utilisée par défaut

Cette technologie est appliquée directement sur l'exécutable. Au fur et à mesure de l'exécution de l'application, le code exécuté est transformé en code assembleur et exécuté. Ainsi, seul le code nécessaire est compilé (ce qui accélère les performances de l'application).
Une application utilisant la technologie JITc consomme un peu plus de mémoire : la place nécessaire au code assembleur généré.
A savoir : Certains codes ne sont pas pris en compte lors de l'utilisation de la technologie JITc :
  • Les appels à la fonction dbgAssertion. En effet, cette fonction a un usage réservé au mode test.
  • Lors de l'utilisation de codes-cible conditionnels, seul le code correspondant à la plateforme en cours est pris en compte. Les autres codes ne sont pas compilés.

Traitements spécifiques désactivant la technologie JITc

La technologie JITc n'est pas utilisée lors d'un GO de l'application depuis l'éditeur.
Cette technologie est également automatiquement désactivée :
  • Si l'analyseur de performances est activé.
  • Si les logs d'exécution sont activés.
  • Si l'application est débuggée à distance.
La technologie JITc sera automatiquement réactivée lors du prochain lancement de l'application.

Conseils pour optimiser les effets de la technologie JITc

Par défaut, la technologie JITc permet d'accélérer vos applications WINDEV. Quelques règles simples permettent de maximiser le gain de la technologie JITc. Il suffit d'apporter quelques adaptations mineures dans le code source :
  • Utiliser des variables locales au lieu de variables globales :
    Dans certains cas, il est plus simple de déclarer des variables globales, alors qu'une variable locale suffit à l'utilisation qui est faite. Dans ce cas, il est conseillé de remplacer la variable globale par une variable locale. Par exemple, une procédure reçoit en paramètre une variable globale, alors que cette variable n'est pas modifiée par cette procédure. Il est peut être possible de remplacer la variable globale par une variable locale.
  • Typer les variables locales utilisées dans les procédures WLangage :
    Dans le code de déclaration des procédures, il est conseillé de typer les paramètres attendus par la procédure. Les performances de l'application seront ainsi optimisées (surtout pour des paramètres de type réel ou entier).
    Par exemple : Remplacez le code suivant :
    PROCEDURE MonCalcul(VarA, VarB, VarC)

    par :
    PROCEDURE MonCalcul(VarA est un réel, VarB est un réel, VarC est un réel)
Versions 18 et supérieures
La technologie JITc s'applique sur les codes de type :
  • POO : programmation objet, classe, méthodes, membres, ...
  • Les structures : déclaration de variables de type structure.
Il est vivement conseillé pour la technologie JITc soit efficace de typer les variables ou membres et les paramètres passés aux méthodes des classes.
Nouveauté 18
La technologie JITc s'applique sur les codes de type :
  • POO : programmation objet, classe, méthodes, membres, ...
  • Les structures : déclaration de variables de type structure.
Il est vivement conseillé pour la technologie JITc soit efficace de typer les variables ou membres et les paramètres passés aux méthodes des classes.
La technologie JITc s'applique sur les codes de type :
  • POO : programmation objet, classe, méthodes, membres, ...
  • Les structures : déclaration de variables de type structure.
Il est vivement conseillé pour la technologie JITc soit efficace de typer les variables ou membres et les paramètres passés aux méthodes des classes.

Comment désactiver la technologie JITc ?

Pour désactiver la technologie JITc dans une application, il est possible d'utiliser la fonction ModeExécution.
En cas de suspicion de problèmes liés à la technologie JIT, il est également possible de désactiver cette technologie :
  • sur le poste en cours en modifiant le fichier WINI.INI.
    La modification du fichier WIN.INI entraîne la désactivation du JITc sur le poste en cours : toutes les applications WINDEV installées sur ce poste (y compris WINDEV lui-même) n'utiliseront plus cette technologie. Il suffit d'ajouter les lignes de code suivantes :
    [WD_EXECUTION]
    OPTIM_EXECUTION=0
  • pour une application spécifique, en modifiant (ou en ajoutant) le fichier <Nom exécutable>.WX.
    Ce fichier est situé à côté de l'exécutable. Pour désactiver la technologie JITc, il suffit d'ajouter les lignes :
    [WD_EXECUTION]
    OPTIM_EXECUTION=0
Si vous constatez un problème lié à l'utilisation de la technologie JITc, il est conseillé de prévenir le Support Technique de PC SOFT.
Version minimum requise
  • Version 11
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire