Características da linguagem mql5, subtilezas e técnicas - página 154

 
Roman:

Embora traduzido em byte-code, Java tem a sua própria máquina de execução virtual (JVM).
Também a língua é estritamente dactilografada, ao contrário de outras línguas com um intérprete.
Muito provavelmente, a digitação rigorosa e a JVM são a razão para a rápida execução e transmissão de instruções para o hardware.
Os terminais comerciais americanos são escritos em Java por uma razão. O Grupo CME em Chicago fornece oficialmente um terminal que está escrito em Java.
Um programador disse-me uma vez que Java tem as suas raízes nas telecomunicações.
E a indústria das telecomunicações, desde o início, exige rapidez no processamento e transferência de dados.
E a Oracle tem a sua própria comunidade para o desenvolvimento desta língua.
Assim, a língua está viva e bem viva, e está a ser desenvolvida pela comunidade Oracle.

A propósito, a marca Quik e a língua LUA também foram desenvolvidas pelos americanos.
Mas na década de 90, foi vendida com sucesso à Federação Russa.
Naqueles anos, os americanos já se tinham apercebido de que a LUA não tinha qualquer desenvolvimento futuro.
E venderam-na com sucesso à Federação Russa, onde uma bolsa de valores tinha acabado de começar a formar-se após o colapso da União.

Igor Makanu:

O modelo lá é o mesmo que em .Net - o código fonte é compilado em bytecode, este será também o intérprete, e desempacotar o bytecode num determinado PC já gerará o código nativo para o ambiente virtual em que será executado, ou seja, já será compilado código

https://habr.com/ru/post/107585/

google "compilador ou intérprete java" para Java - haverá artigos semelhantes

Obrigado.
Estou basicamente ciente de tudo isso, mas não esperava ver uma diferença tão grande entre Java e MQL5 (três vezes mais a favor de Java):

Talvez os gráficos não sejam o melhor tema de comparação. Mas só há aí uma matemática.

Arquivos anexados:
gravity.zip  3 kb
 
Vict:

Alguma vez se perguntou quanto tempo de arranque leva? Quanta memória é consumida e quantos fios a JVM corre para compilar bytes de código? Dirigi um monstro que compilou o mundo do olá na mosca e acabou com ambos nativ. Excepto que o monstro C não tem um. E sobre python.


Não há problema em comprar um sapateiro numérico multi-core com uma carroça de RAM e dizer que o meu java/sharp/... ...são muito fixes neste teste, e mantêm-se calados sobre a carga global. Eles nunca alcançarão C. Progresso, tomar tetris dos anos 80, reescrevê-lo em sharpe, e correr tão rápido como antes, mas com um CPU de 60 núcleos)).

ZS: semelhante a como dois fios em Elbrus só estão envolvidos na tradução a partir de instruções x86. BELAZ (Bielorrússia): uma encomenda.

C e Java são, por uma razão, dois líderes iguais no ranking da linguagem de programação.

Pode ter razão até certo ponto, mas mesmo assim, parece estar atrasado em relação aos tempos.
É certo que eu também só recentemente me apercebi do meu atraso quando comecei a estudar para me tornar um programador.
Pensei saber muito, mas com o estabelecimento de novas ligações neurais, a minha auto-estima despencou.

 
Nikolai Semko:

Obrigado.
Estou basicamente ciente de tudo isso, mas não esperava ver uma diferença tão grande entre Java e MQL5 (três vezes a favor de Java):

Os gráficos podem não ser o melhor tema de comparação. Mas só existe aí uma matemática.

O que espera da MQL5? Não consegue obter o contexto do dispositivo, por isso desenha usando software de emulação em gráficos.



Alexey Navoykov:
A propósito, quanto à Sharp, parece que tornaram possível a compilação directa em código nativo. Ainda não a experimentei, mas deve ser fixe.

Adoro o hubr, especialmente para os comentárioshttps://habr.com/ru/company/microsoft/blog/265889/

https://docs.microsoft.com/ru-ru/dotnet/framework/net-native/

 
Igor Makanu:

O que espera da MQL5? Não consegue obter o contexto do dispositivo, pois não? Então desenha usando emulação de software em gráficos


Não creio que seja este o caso.

Penso que o contexto está vinculado quando se executa

ObjectCreate(chart_id,name,OBJ_BITMAP_LABEL,subwin,0,0)
 
Nikolai Semko:

C e Java são, por boas razões, os dois líderes iguais no ranking da linguagem de programação.

Pode ter razão em alguns aspectos, mas parece estar atrasado em relação aos tempos.
É certo que eu também só recentemente me apercebi do meu atraso quando comecei a estudar programação.
Pensei saber muito, mas com o estabelecimento de novas ligações neurais, a minha auto-estima despencou.

Talvez. Von sharp está a mover a Microsoft, a sua loja de janelas (aqui vem a compilação para nativ), afinal está na moda. Precisamos de fazer como um rebanho.

 
Igor Makanu:

O modelo lá é o mesmo que em .Net - o código fonte é compilado em bytecode, este será também o intérprete, e desempacotar o bytecode num determinado PC já gerará o código nativo para o ambiente virtual em que será executado, ou seja, já será compilado código

https://habr.com/ru/post/107585/


sobre Java google "compilador ou intérprete java" - haverá artigos semelhantes

geez, Igor este artigo é de 2010. Muita coisa mudou em 9 anos.

 
Nikolai Semko:

Caramba, Igor, este artigo é de 2010. Muita coisa mudou em 9 anos.

Quem pode dizer que as coisas mudam, já nem se consegue ver os compiladores da Borland, enquanto há 10 anos todos eles estavam sentados sobre eles no runet ))))

nunca estive interessado em java, talvez em 4pd quando tinham um telefone em java

Mas a formacomo funcionam é que tanto .Net comoJava eram iguais e a pré-compilação em tempo de execução tornou-os portáteis através de plataformas.

 
Igor Makanu:

Quem pode dizer que as coisas mudam, já nem se vêem os compiladores da Borland, há 10 anos todos no runet os utilizavam ))))

Refiro-me aos princípios, nunca estive interessado em Java, talvez em 4pd quando tinham um telefone em Java

Mas a formacomo funcionam é que tanto .Net comoJava eram iguais e a pré-compilação em tempo de execução tornou-os portáteis entre plataformas.

Sim, parece que conceitos como intérprete e compilador se difundiram um no outro.
 
Nikolai Semko:

Obrigado.
Estou ciente disso, mas não esperava ver uma diferença tão grande entre Java e MQL5 (três vezes mais a favor de Java):

Os gráficos podem não ser o melhor tema de comparação. Mas há algumas matemáticas envolvidas.

um pouco enganador. Em código MQL em cada frame chamada função ChartChanged() muito cara. Sem ele, o ganho de Java não seria 3, mas sim 2 vezes.

Se o código MQL fizer o mesmo (também 8 cêntimos de gravidade), mas sem arrays, a velocidade em Java e MQL5 será igual.


Reparei durante muito tempo que a MQL5 não é amigável com o acesso à matriz. O acesso a um elemento de matriz é desproporcionadamente caro. Penso que os criadores têm algumas coisas em que trabalhar.

Arquivos anexados:
Swirl.mq5  12 kb
 

Encontrámos um interessante estudo de há dois anos comparando a eficácia de diferentes línguas

https://greenlab.di.uminho.pt/wp-content/uploads/2017/09/paperSLE.pdf