15% performance-boost e 40% menos memória-utilização usando GraalVM
84 respostas

geektrader
5 anos atrás #257329
Oi 🙂
Eu só queria compartilhar minha "nova" descoberta. Como sempre, estou explorando opções sobre como aumentar a velocidade do SQX para meu fluxo de trabalho diário, ajustando parâmetros, coletores de lixo, etc. Ultimamente, tenho aprendido sobre GraalVMO SQX é um compilador JIT relativamente novo que tem como objetivo o desempenho máximo e que às vezes demonstrou ser até 30x mais rápido do que se executasse o código no tempo de execução padrão JRE / OpenJDK que o SQX está usando neste momento. Aqui está um excelente vídeo sobre como ele funciona, por que foi feito e com alguns testes de desempenho: https://www.youtube.com/watch?v=GinNxS3OSi0 Por exemplo: O Twitter está rodando todas as suas coisas Java no GraalVM em vez do JRE / OpenJDK há algum tempo e tem notado uma queda considerável no uso de CPU e RAM.
E agora a grande parte: usá-lo com SQX é tão fácil quanto baixar o último binário do Windows a partir daqui https://github.com/graalvm/graalvm-ce-builds/releases
Simplesmente desempacote o arquivo ZIP no J64 do SQX (anteriormente exclua ou renomeie a pasta) e simplesmente continue trabalhando com o SQX como você sempre fez. Pessoalmente, aqui está o que eu experimentei desde que o substituí e, é claro, usando as mesmas configurações no SQX que antes:
- sobre um aumento de desempenho 15% na velocidade de geração da estratégia
- aproximadamente uma queda de 40% no consumo de memória (que é AMAZENTE, já que agora posso trabalhar com menos memória RAM)
- sem erros ou falhas do SQX apenas funciona da mesma forma que com JRE / OpenJDK
Como se trata de código aberto, eu recomendaria vivamente que o SQX seja enviado com GraalVM em sua configuração padrão, pois isso parece ser incrível! Há também uma edição Enterprise Edition disponível que parece ser ainda mais rápida, mas é 193 Euro/ano e eu ainda não a testei.
Divirta-se com as estratégias de análise 😉.
fonte de nuvens
4 anos atrás #267814
Olá, gostaria de tentar fazer essa atualização de desempenho. Posso verificar se preciso excluir o conteúdo da pasta J64 e substituí-lo pelos arquivos descompactados?
Além disso, a Enterprise Edition 20 é estável ou continuo com a 19? Não tenho certeza se preciso da versão Java 8 ou 11, estou executando o Win 10 Pro.
obrigado
hankeys
4 anos atrás #267817
java 11, versão 20, qualquer que seja - sim, você excluirá, ou melhor, renomeará a pasta "j64" original e descompactará o conteúdo do zip do graal dentro dela e reiniciará o SQX
Você quer ser um algotrader lucrativo? Começamos a usar o software StrateQuant no início de 2014. Atualmente, temos um grande know-how para criar EAs para todos os tipos possíveis de mercados. Compartilhamos esse know-how, aplicativos, ferramentas e também todas as estratégias finais com traders reais. Se você quiser se juntar a nós, preencha o formulário FORMULÁRIO.
Waid
4 anos atrás #268938
Ele é enviado para o B130?
Acabei de ver esta postagem e agora abri o arquivo readme da pasta j64 do SQX. Ele afirma que é openJDK.
O GraalVM é problemático ou outra coisa, de modo que, depois de vários meses de testes, as pessoas aqui concluem que ele não é adequado para ser enviado para a nova versão do SQX?
hankeys
4 anos atrás #268939
Acho que ele não será fornecido com o SQX, devido ao licenciamento... portanto, você precisa testá-lo por conta própria e ver a diferença que poderá obter com as especificações do seu PC... você pode ver nosso benchmark que fizemos
Você quer ser um algotrader lucrativo? Começamos a usar o software StrateQuant no início de 2014. Atualmente, temos um grande know-how para criar EAs para todos os tipos possíveis de mercados. Compartilhamos esse know-how, aplicativos, ferramentas e também todas as estratégias finais com traders reais. Se você quiser se juntar a nós, preencha o formulário FORMULÁRIO.
Jim Lin
4 anos atrás #269997
Olá, pessoal
Agora mesmo, comparei o SQX 131 com o java padrão e com o java graaivm, embora não tenha aumentado muito a velocidade....
Gostaria de saber se o SQX 131 já foi aprimorado pelo java?
neilrickaby
4 anos atrás #270706
Tentei fazer isso usando: graalvm-ee-java11-21.1.0 no SQX Build 131.659, sem sorte! Qualquer ajuda seria muito bem-vinda. O erro era persistente, tentei várias reinicializações!
Tamas
4 anos atrás #270709
Olá,
Ele funcionará depois de excluir os arquivos abaixo da pasta j64
\j64\languages\nfi\builder\svm-none.jar;
\j64\languages\nfi\truffle-nfi-none.jar;
Equipe SQ, Tamas

Conmariin
4 anos atrás #270722
Para todos que desejam usar o graalvm: Adotem a versão 21.1 java 11 e não a versão 16.
Isso produz esse erro (no meu caso, no Linux):
Se você usar a versão 11, ela funcionará bem após a reinicialização do SQ. Antes disso, você deve excluir
\j64\languages\nfi\builder\svm-none.jar;
\j64\languages\nfi\truffle-nfi-none.jar;
como o Tamas já disse.
Automatisches Handeln mit Expert Advisor
https://www.rabenesche.de
Ativo também em:
https://forums.babypips.com/u/ravenash
neilrickaby
4 anos atrás #270710
Tentei fazer isso usando: graalvm-ee-java11-21.1.0 no SQX Build 131.659, sem sorte! Qualquer ajuda seria muito bem-vinda. O erro era persistente, tentei várias reinicializações!
Na verdade, consegui fazer com que isso funcionasse, graças às informações no servidor Discord, usando o pacote: graalvm-ee-java11-windows-amd64-20.0.0. Mas, depois de testar, não vi nenhum aumento perceptível no desempenho.
hankeys
4 anos atrás #270743
É estranho, pois todos os usuários que conheço têm problemas de desempenho com o Graal
Você quer ser um algotrader lucrativo? Começamos a usar o software StrateQuant no início de 2014. Atualmente, temos um grande know-how para criar EAs para todos os tipos possíveis de mercados. Compartilhamos esse know-how, aplicativos, ferramentas e também todas as estratégias finais com traders reais. Se você quiser se juntar a nós, preencha o formulário FORMULÁRIO.
Michael
4 anos atrás #270800
Executei alguns testes esta manhã e observei resultados interessantes. Testei a configuração original do Build 131 com a edição empresarial do Graalvm versão 20.3.2 e 21.1.0 (ambas usando a v11).
A primeira coisa que fiz foi comparar os benchmarks e escolher o melhor de três testes para cada um.
Em seguida, fiz 500 testes de estratégia de tendência usando todos os três para os modos aleatório e genético.
Resumindo, a configuração original se saiu melhor do que usar a 20.3.2 ou a 21.1.0 nos testes de benchmark e não houve nenhuma diferença real nos outros testes...
Anexei algumas fotos para mostrar comparações diretas.

Karish
4 anos atrás #270802
Confira esta comparação de desempenho:
https://docs.google.com/spreadsheets/d/1PXYirYB5toqP8c4tIsU6x8swFvtt3Wwn8QGek7srTzY
mais em: https://discord.gg/5TFFKUCw
Michael
4 anos atrás #270813
Obrigado, Karish, por compartilhar a planilha e o link.
Acabei de atualizar a planilha com meus testes e agora vejo uma diferença, e que diferença realmente é. Para mim, a melhor melhoria foi no 43% - passando de 454,2 mil estratégias por hora para 651,7 mil!!!!!

YuL
4 anos atrás #270929
Gostaria de saber se existe uma diferença de desempenho entre as versões do Linux e do Windows devido aos sistemas operacionais. Alguém tentou compará-las?
O Linux não tem problemas para usar mais de 64 núcleos em um aplicativo como no Windows, portanto, pode ser uma alternativa melhor em geral.
tarrioin
3 anos atrás #271403