Reply

15% performance-boost and 40% less memory-usage using GraalVM

82 replies

geektrader

Customer, bbp_participant, community, 522 replies.

Visit profile

3 years ago #257329

Hi 🙂

I just wanted to share my “new” find. As always, I am exploring options about how to increase the speed of SQX for my daily workflow by tuning parameters, garbage collectors, etc. Lately, I´ve learned about GraalVM, which is a relatively new JIT-compiler that has maximum performance as its goal and has been shown sometimes to be up to 30x faster than if executing code in the standard JRE / OpenJDK runtimes that SQX is using right now. Over here is an excellent video about how it works, why it has been made and with some performance tests: https://www.youtube.com/watch?v=GinNxS3OSi0 For example: Twitter is running all their Java stuff on GraalVM instead of JRE / OpenJDK for a while now and have noticed a considerable drop in CPU and RAM usage.

And now the great part: using it with SQX is as easy as downloading the latest Windows binary from here https://github.com/graalvm/graalvm-ce-builds/releases

Simply unpack the ZIP file into the J64 of SQX (previously delete or rename the folder) and just continue working with SQX as you always did. Personally here is what I have experienced since replacing it and of course, using the same settings in SQX as before:

– about a 15% performance increase in strategy generation speed

– approximately a 40% drop in memory consumption (which is AMAZING given that I can now work with less RAM)

– no errors or crashes of SQX just works the same as with JRE / OpenJDK

As this is open-source, I would highly recommend that SQX is being shipped with GraalVM in its default configuration, as this seems to be amazing!  There also is an Enterprise Edition available that seems to be even faster, but it´s 193 Euro/year and I haven´t tested it yet.

Have fun crunching strategies 😉


🚀 Unlock Your Edge in Automated Forex Strategy Development 🚀

Historical Forex Data Starting From 1987, 28 Pairs, M1, 99% Error-Free, Lifetime Free Updates

1

tom

Subscriber, bbp_participant, customer, community, sq-ultimate, 6 replies.

Visit profile

1 year ago #279832

Can you advise on these settings also for MacOS Ventura, M1 MAx, 32GB?

0

tom

Subscriber, bbp_participant, customer, community, sq-ultimate, 6 replies.

Visit profile

1 year ago #279833

Hi Guys, GraalVM 22.0 is out and I´ve got another 5% boost through their new compiler optimizations for non-counted loops (compared to 21.3). I am referring to the 22.0 Java 11 based Enterprise Version over at: https://www.graalvm.org/downloads/ Once downloaded, you´ll have to delete these files for it to work correctly: \j64\languages\nfi\builder\svm-none.jar; \j64\languages\nfi\truffle-nfi-none.jar; For best performance I´d recommend to launch SQX via the “StrategyQuantX_nocheck.exe” and previously replace the “StrategyQuantX_nocheck.config” file with the following content: 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

 

 

Can you advise on these settings also for MacOS Ventura, M1 MAX, 32GB?

1

Conmariin

Subscriber, bbp_participant, community, customer, 54 replies.

Visit profile

1 year ago #280211

The 22.3 work for me as well. No need to delete files. I added to the original config following:

option -Dgraal.CompilerConfiguration=enterprise
option -Dgraal.UsePriorityInlining=true
option -Dgraal.Vectorization=true
option -Dgraal.OptDuplication=true
option -Dgraal.TuneInlinerExploration=1
option -Dgraal.LoopRotation=true

Automatisches Handeln mit Expert Advisor
https://www.rabenesche.de

1

tom

Subscriber, bbp_participant, customer, community, sq-ultimate, 6 replies.

Visit profile

1 year ago #280582

Any reason why only Java 11 (MAC OS, M1) amd64 version works for this (not even aarch64)? Java 17 or 19 does not work. Starting with Graal 23, there is no more Java 11.

0

Iron

Subscriber, bbp_participant, customer, community, 8 replies.

Visit profile

1 year ago #280696

Hello everyone, is it just like this put in the j64 file?after unzip the file and put it into j64

0

Gin

Subscriber, bbp_participant, 95 replies.

Visit profile

3 months ago #284715

core dump crash segment

0

tnickel

Customer, bbp_participant, community, sq-ultimate, 486 replies.

Visit profile

2 months ago #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/

0

Viewing 7 replies - 76 through 82 (of 82 total)

1 2 3 4 5 6