15% d'amélioration des performances et 40% de réduction de l'utilisation de la mémoire avec GraalVM
82 replies
geektrader
Il y a 4 ans #257329
Bonjour 🙂 .
Je voulais juste partager ma "nouvelle" découverte. Comme toujours, j'explore les possibilités d'augmenter la vitesse de SQX pour mon travail quotidien en réglant les paramètres, les collecteurs d'ordures, etc. Dernièrement, j'ai appris l'existence de GraalVMIl s'agit d'un compilateur JIT relativement récent dont l'objectif est de maximiser les performances. Il a parfois été démontré qu'il était jusqu'à 30 fois plus rapide que l'exécution du code dans les runtimes standard JRE / OpenJDK que SQX utilise actuellement. Voici une excellente vidéo qui explique comment il fonctionne, pourquoi il a été créé et qui présente quelques tests de performance : https://www.youtube.com/watch?v=GinNxS3OSi0 Par exemple : Twitter fait tourner toutes ses applications Java sur GraalVM au lieu de JRE / OpenJDK depuis un certain temps et a remarqué une baisse considérable de l'utilisation du CPU et de la RAM.
Et maintenant, la partie la plus intéressante : l'utiliser avec SQX est aussi simple que de télécharger la dernière version binaire de Windows à partir d'ici. https://github.com/graalvm/graalvm-ce-builds/releases
Il suffit de décompresser le fichier ZIP dans le J64 de SQX (en supprimant ou en renommant préalablement le dossier) et de continuer à travailler avec SQX comme vous l'avez toujours fait. Personnellement, voici ce que j'ai expérimenté depuis que j'ai remplacé le fichier ZIP et, bien sûr, en utilisant les mêmes paramètres dans SQX qu'auparavant :
- environ 15% d'augmentation de la vitesse de génération de la stratégie
- une baisse d'environ 40% de la consommation de mémoire (ce qui est INCROYABLE étant donné que je peux maintenant travailler avec moins de RAM)
- pas d'erreur ou de plantage de SQX, fonctionne comme avec JRE / OpenJDK
Comme il s'agit d'un logiciel libre, je recommande vivement que SQX soit livré avec GraalVM dans sa configuration par défaut, car cela semble être extraordinaire ! Il existe également une édition Enterprise qui semble être encore plus rapide, mais elle coûte 193 euros par an et je ne l'ai pas encore testée.
Amusez-vous bien à élaborer des stratégies 😉
tom
il y a 1 an #279832
Pouvez-vous nous conseiller sur ces paramètres également pour MacOS Ventura, M1 MAx, 32GB ?
tom
il y a 1 an #279833
Bonjour à tous, GraalVM 22.0 est sorti et j'ai obtenu un nouveau boost de 5% grâce aux nouvelles optimisations du compilateur pour les boucles non comptées (par rapport à la 21.3). Je me réfère à la version 22.0 basée sur Java 11 Enterprise à l'adresse : https://www.graalvm.org/downloads/ Une fois téléchargé, vous devrez supprimer ces fichiers pour qu'il fonctionne correctement : \j64\languages\nfi\builder\svm-none.jar ; \j64\languages\nfi\truffle-nfi-none.jar ; Pour de meilleures performances, je recommande de lancer SQX via "StrategyQuantX_nocheck.exe" et de remplacer au préalable le fichier "StrategyQuantX_nocheck.config" avec le contenu suivant : option -XX:-ShrinkHeapInSteps option -XX:+UnlockExperimentalVMOptions option -XX:+EnableJVMCI option -XX:+EagerJVMCI option -XX:-UseJVMCINativeLibrary option -XX:MaxNodeLimit=100000 option -Dgraal.CompilerConfiguration=enterprise option -Dgraal.UsePriorityInlining=true option -Dgraal.Vectorization=true option -Dgraal.OptDuplication=true option -Dgraal.TuneInlinerExploration=1 option -Dgraal.LoopRotation=true
Pouvez-vous nous conseiller sur ces paramètres également pour MacOS Ventura, M1 MAX, 32GB ?
Conmariin
il y a 1 an #280211
La version 22.3 fonctionne également pour moi. Pas besoin de supprimer des fichiers. I ajouté à la configuration originale suivante :
option -Dgraal.CompilerConfiguration=enterprise
option -Dgraal.UsePriorityInlining=true
option -Dgraal.Vectorization=true
option -Dgraal.OptDuplication=true
option -Dgraal.TuneInlinerExploration=1
option -Dgraal.LoopRotation=true
Gestion automatisée avec Expert Advisor
https://www.rabenesche.de
tom
il y a 1 an #280582
Pourquoi seule la version amd64 de Java 11 (MAC OS, M1) fonctionne-t-elle (pas même aarch64) ? Java 17 ou 19 ne fonctionne pas. A partir de Graal 23, il n'y a plus de Java 11.
Le fer
il y a 1 an #280696
Bonjour à tous, est-ce que c'est comme ça qu'on met le fichier j64 ?
Gin
Il y a 4 mois #284715
core dump crash segment
tnickel
Il y a 4 mois #285020
Hello, a lot of time has passed now and I would like to ask again whether anyone is using the faster GrahlVm in the current SQ 4.138?
Is it even compatible with version 4.138? And how much faster is it? Does it make sense to upgrade?
I am using Windows 10.
Thomas
https://monitortool.jimdofree.com/