OpenCl et les outils correspondants. Critiques et impressions. - page 3

 
Il s'agit de l'utilisation de la mémoire vive pour stocker ou échanger des données, par exemple entre deux terminaux ou même plusieurs applications.

Il utilise simplement des zones réservées de la RAM au lieu de fichiers. L'idée est la même, mais elle fonctionne beaucoup plus rapidement.

 

Le mappage est le mappage, c'est juste qu'un objet fichier peut être créé directement en RAM.

Je ne comprends pas pourquoi ? Alexei a clairement écrit que tout est dans l'init.

 

Je répète que je l'ai proposé non pas pour le problème d'Alexey, mais comme moyen d'accélérer les calculs en général).

Il s'agit d'organiser une sorte de cache pour utiliser les données lors d'itérations ultérieures.

 
OnGoing:
Il s'agit de l'utilisation de la mémoire vive pour stocker ou échanger des données, par exemple entre deux terminaux ou même plusieurs applications.

Il utilise simplement des zones réservées de la RAM au lieu de fichiers. L'idée est la même, mais elle fonctionne beaucoup plus rapidement.


oublier cette DLL dépouillée de celui-ci.

Vous disposez d'une version entièrement fonctionnelle pour travailler avec la cartographie.

 
Mathemat:

Et comment proposez-vous de le faire - sans faire référence à un codage externe à MQL4 ?
J'ai déjà suggéré - à travers des fichiers. Mais c'est long et gênant.

Vous pouvez aussi faire une dll spéciale.
L'ensemble des paramètres en mémoire sera associé à un certain résultat.
Vous pouvez même rendre la cartographie plus difficile, comme ceci :
DateTime - {Paramètres de calcul} - Résultat(s).
Cela met déjà en cache les calculs sur chaque barre.

J'emmerde la cartographie et les fichiers. Ce dont nous avons besoin est un stockage associatif.
 
sergeev:

oublier cette DLL dépouillée de celui-ci.

Vous disposez d'une version entièrement fonctionnelle pour travailler avec la cartographie.

Wow, merci. J'attends avec impatience des exemples d'utilisation).
 
jartmailru: Vous pouvez aussi faire une dll spéciale.

Demandé comment sans un dll.

OK, laisse tomber. Il est plus facile d'effectuer des calculs lourds en C/C++ et d'accélérer l'exécution de plusieurs fois en utilisant SSE*, Open MP et IPP. Et au lieu de 10 secondes sur MQL4, vous obtiendrez 1 seconde - même sur mon dual-core économique.

 
Mathemat:

Je lui ai demandé comment il pouvait travailler sans dll.

Ok, c'est pas grave. Il est plus facile d'implémenter des calculs lourds en C/C++ et d'accélérer l'exécution de plusieurs fois en utilisant SSE*, Open MP et IPP. Et au lieu de 10 secondes dans MQL4, vous obtiendrez 1 seconde - même sur mon double cœur économique.

MQL5 est 20 fois plus rapide que MQL4.

Le C++ est 6 fois plus rapide que le MQL5 (en utilisant des bibliothèques qui parallélisent automatiquement l'exécution).

Total : 20*6=120 fois.

Si vous utilisez les calculs du GPU, ce sera encore plus rapide.

TOTAL : 10/120=0.083c.

quelque chose comme ça.

 
joo:

MQL5 est 20 fois plus rapide que MQL4.

J'aimerais le croire. Mais en pratique, l'optimisation dans un processeur multicore dans MT5 est beaucoup plus lente que l'optimisation monofilaire dans MT4.

Il est tout à fait possible qu'il semble seulement que le code dans MT5 s'agite à peine ?

Je devrais prendre un algorithme de référence et l'utiliser dans la fonction start() de MT4 et OnTick() de MT5 et l'exécuter sur un seul noyau dans les Expert Advisors avec un paramètre d'entrée fictif changeant de 0 à 9999 sans génétique pour être plus sûr. Mais où trouver ce noyau unique ?

 
Reshetov:

Sauf qu'en pratique, l'optimisation sur un CPU multi-core dans MT5 est sensiblement plus lente que l'optimisation monofilaire dans MT4.

Non, c'est un testeur. Avant le championnat, nous avons mesuré le temps d'exécution - le temps d' exécution d'un Expert Advisor léger et économique était bien inférieur au temps passé pour les tests.

Cependant cette information n'est pas à 100%, je peux mentir, je ne me souviens pas.