Caractéristiques du langage mql5, subtilités et techniques - page 154

 
Roman:

Bien que traduit en byte-code, Java possède sa propre machine d' exécution virtuelle (JVM).
De plus, le langage est strictement typé, contrairement à d'autres langages avec un interprète.
Il est fort probable que le typage strict et la JVM soient à l'origine de la rapidité d'exécution et de transmission des instructions au matériel.
Les terminaux de trading américains sont écrits en Java pour une raison. Le CME Group de Chicago fournit officiellement un terminal écrit en Java.
Un programmeur m'a dit un jour que Java avait ses racines dans les télécommunications.
Et l'industrie des télécommunications, dès le départ, exige la rapidité du traitement et du transfert des données.
Et Oracle a sa propre communauté pour le développement de ce langage.
Le langage est donc bien vivant, et il est affiné par la communauté Oracle.

Par ailleurs, la marque Quik et le langage LUA ont également été développés par les Américains.
Mais dans les années 90, elle a été vendue avec succès à la Fédération de Russie.
À l'époque, les Américains avaient déjà compris que LUA n'avait pas d'avenir.
Et ils ont réussi à le vendre à la Fédération de Russie, où un marché des changes commençait tout juste à se former après l'effondrement de l'Union soviétique.

Igor Makanu:

Le modèle est le même que pour .Net : le code source est compilé en bytecode, qui sera également l'interprète, et le déballage du bytecode sur un PC donné générera déjà du code natif pour l'environnement virtuel dans lequel il sera exécuté, c'est-à-dire qu'il s'agira déjà d'un code compilé.

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

google "compilateur ou interpréteur java" pour Java - il y aura des articles similaires

Merci.
Je suis fondamentalement conscient de tout cela, mais je ne m'attendais pas à voir une si grande différence entre Java et MQL5 (trois fois plus en faveur de Java) :

Le graphisme n'est peut-être pas le meilleur sujet de comparaison. Mais il y a une mathématique là.

Dossiers :
gravity.zip  3 kb
 
Vict:

Vous êtes-vous déjà demandé combien de temps il faut au démarrage, combien de mémoire est consommée et combien de threads la JVM exécute pour compiler des octets de code ? J'ai lancé un monstre qui compile hello world à la volée, et il s'est retrouvé avec les deux natifs. Sauf que le monstre C n'en a pas. Et à propos de Python.


C'est bien d'acheter une machine à calculer multicore avec un wagon de RAM et de dire que mon java/sharp/... ...sont très cool dans ce test, et restent discrets sur la charge globale. Ils ne rattraperont jamais C. Progrès, prenez le tetris des années 80, réécrivez-le en sharpe, et faites la course aussi vite qu'avant, mais avec un CPU de 60 cœurs)).

ZS : semblable à la façon dont deux threads dans Elbrus sont seulement impliqués dans la traduction des instructions x86. BELAZ (Belarus) : un colis.

C et Java sont, pour une raison bien précise, les deux leaders égaux dans le classement des langages de programmation.

Vous avez peut-être raison dans une certaine mesure, mais vous semblez être en retard sur votre temps.
Je dois admettre que je n'ai réalisé que récemment à quel point j'étais en retard lorsque j'ai commencé à étudier pour devenir un programmeur.
Je pensais en savoir beaucoup, mais avec l'établissement de nouvelles connexions neuronales, mon estime de soi a chuté.

 
Nikolai Semko:

Merci.
Je suis fondamentalement conscient de tout cela, mais je ne m'attendais pas à voir une si grande différence entre Java et MQL5 (trois fois en faveur de Java) :

Les graphiques ne sont peut-être pas le meilleur sujet de comparaison. Mais il n'y a qu'une seule mathématique ici.

Qu'attendez-vous de MQL5 ? Vous ne pouvez pas obtenir le contexte du périphérique, alors vous dessinez en utilisant un logiciel d'émulation sur des cartes.



Alexey Navoykov:
Au fait, en ce qui concerne Sharp, il semble qu'il soit possible de compiler directement en code natif. Je n'ai pas encore essayé, mais c'est censé être cool.

J'adore le hubr, surtout pour les commentaireshttps://habr.com/ru/company/microsoft/blog/265889/

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

 
Igor Makanu:

Qu'attendez-vous de MQL5 ? Vous ne pouvez pas obtenir le contexte du dispositif, n'est-ce pas ? Donc vous dessinez en utilisant l'émulation logicielle sur les graphiques.


Je ne pense pas que ce soit le cas.

Je pense que le contexte est lié lors de l'exécution de

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

C et Java sont, pour de bonnes raisons, les deux leaders à égalité dans le classement des langages de programmation.

Vous avez peut-être raison sur certains points, mais vous semblez être en retard sur votre temps.
Il est vrai que je n'ai moi aussi réalisé que récemment à quel point j'étais en retard lorsque j'ai commencé à étudier la programmation.
Je pensais en savoir beaucoup, mais avec l'établissement de nouvelles connexions neuronales, mon estime de soi a chuté.

Peut-être. Von sharp fait bouger Microsoft, son windows store (voilà la compilation en nativ), c'est à la mode après tout. Nous devons le faire en tant que troupeau.

 
Igor Makanu:

Le modèle est le même que pour .Net : le code source est compilé en bytecode, qui sera également l'interprète, et le déballage du bytecode sur un PC donné générera déjà du code natif pour l'environnement virtuel dans lequel il sera exécuté, c'est-à-dire qu'il s'agira déjà d'un code compilé.

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


à propos de Java, recherchez sur Google "compilateur ou interpréteur Java" - vous trouverez des articles similaires.

Bon sang, Igor, cet article date de 2010. Beaucoup de choses ont changé en 9 ans.

 
Nikolai Semko:

Bon sang, Igor, cet article date de 2010. Beaucoup de choses ont changé en 9 ans.

Qui peut dire que les choses changent, on ne voit même plus les compilateurs Borland, et il y a 10 ans, ils tournaient tous sur le runet )))).

je n'ai jamais été intéressé par le java, peut-être sur 4pd quand ils avaient un téléphone en java

Mais la façon dontils fonctionnent est que .Net etJava étaient semblables et que la précompilation au moment de l'exécution les rendait portables sur toutes les plateformes.

 
Igor Makanu:

Qui peut dire que les choses changent, on ne voit même plus de compilateurs Borland, il y a 10 ans tout le monde les utilisait sur le runet )))).

Je veux dire les principes, je n'ai jamais été intéressé par Java, peut-être sur 4pd quand ils avaient un téléphone en Java.

Mais la façon dontils fonctionnent est que .Net etJava étaient semblables et que la précompilation au moment de l'exécution les rendait portables sur toutes les plateformes.

Oui, on a l'impression que des concepts tels que l'interprète et le compilateur se sont diffusés l'un dans l'autre.
 
Nikolai Semko:

Merci.
J'en suis conscient, mais je ne m'attendais pas à voir une si grande différence entre Java et MQL5 (trois fois plus en faveur de Java) :

Les graphiques ne sont peut-être pas le meilleur sujet de comparaison. Mais il faut faire des calculs.

un peu trompeuse. Dans le code MQL, à chaque image, la fonction ChartChanged(), très coûteuse, est appelée. Sans elle, le gain de Java ne serait pas de 3, mais de 2 fois.

Si le code MQL fait la même chose (également 8 cents de gravité), mais sans tableaux, la vitesse en Java et MQL5 sera égale.


J'ai remarqué depuis longtemps que MQL5 n'est pas convivial avec l'accès aux tableaux. L'accès à un élément de tableau est disproportionné. Je pense que les développeurs doivent travailler sur certaines choses.

Dossiers :
Swirl.mq5  12 kb
 

J'ai trouvé une étude intéressante datant d'il y a deux ans, qui compare l'efficacité de différentes langues.

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