La toile est cool ! - page 18

 
fxsaber:

Il semble y avoir un malentendu sur ce dont il est question ici. Je parlais d'un exemple de problème de testeur privé, où les prix entiers peuvent donner un gain dans certaines situations. Le cas universel n'était pas en tête. C'est pourquoi mon Testeur, dont j'ai donné le lien ci-dessus, est implémenté sur les dubs, car il est universel.

Je ne peux pas être d'accord à 100%.

Vous avez fait une affirmation :

Je suis presque certain que si vous faites des ticks entiers, le Testeur commencera à travailler beaucoup plus rapidement.

Elle est absolument fausse lorsqu'on essaie de la mettre en pratique. Faux 100% du temps dans la pratique.

Il n'est donc pas nécessaire d'entrer dans la théorie ou le remplacement des sujets. Le sujet est "le testeur actuel peut être accéléré lorsqu'il est converti en nombre entier". Et le sujet est 100% faux, sans exception.

 
Renat Fatkhullin:

Vous avez fait une affirmation :

C'est complètement faux quand on essaie de le mettre en pratique. C'est 100% faux dans la pratique.

Il n'est donc pas nécessaire d'entrer dans la théorie ou de changer de sujet. Le sujet est "le testeur actuel peut être accéléré lorsqu'il est converti en nombre entier". Et le sujet est 100% faux sans exception.

Veuillez noter qu'il s'agit de la seule déclaration où j'ai mis le mot "testeur" entre guillemets. Vous avez mal compris le point que j'ai soulevé.

 
fxsaber:

Il s'agit d'un add-on à votre Tester, qui sans changer le code de n'importe quel EA (avec n'importe quels indicateurs) fait un passage complet avec toutes les transactions et les profits. Mais il le fait plus rapidement que le Testeur normal. Toutes les preuves reproductibles ont été données. Des personnes de la ressource ont vérifié ces affirmations.

Montre-leur.

Et ensuite prouver qu'il s'agit de passer à un mécanisme entier, et non pas que nous avons mis en œuvre de manière inefficace un mécanisme ou un autre par le biais de la surveillance.

Si nous parlons de l'impact du recalcul de la base des positions ouvertes, alors il y a vraiment des freins là, que nous allons corriger dans les prochains jours.
 
fxsaber:

Veuillez noter qu'il s'agit de la seule déclaration de ma part où le mot "Testeur" a été pris à l'origine entre guillemets. Vous avez mal compris le sujet qui a été abordé.

J'ai bien compris.

Et a correctement abordé le sujet avec des détails désagréables pour vous. Si vous pensez que nous n'avons pas calculé le testeur d'entier, vous vous trompez lourdement.

 
Renat Fatkhullin:

Montre-moi.

Le spectacle.

Et ensuite prouver qu'il s'agit de passer à un mécanisme entier, et non pas que nous avons mis en œuvre de manière inefficace un mécanisme ou un autre par le biais de la surveillance.

J'ai abandonné les testeurs d'entiers parce qu'ils n'étaient pas polyvalents. Ils étaient plus rapides, mais il y avait plus de moins que de plus. Cependant, en tant que phénomène, ils peuvent exister. Travail virtuel - sur les dubs.

Si l'on parle de l'impact du recalcul de la base des positions ouvertes, il y a là de vrais freins, que nous corrigerons dans les prochains jours.

Ce serait génial !

 
fxsaber:

Je suis presque sûr que si vous faites des ticks entiers, le "Tester" sera beaucoup plus rapide.

J'ai comparé la vitesse de double et int dans ces deux scripts identiques :

Étonnamment, la variante avec double prédominant était même légèrement plus rapide sur mon CPU.

Dossiers :
LSD_int.mq5  8 kb
 
Renat Fatkhullin:

C'était très bien.

J'ai obtenu 347 fps sans antialiasing et 97 avec antialiasing sur une toile de 2100x550 pixels.

Pour information, nous avons un limiteur de vitesse de mise à jour de la fenêtre de 500 fps. Cela montre combien de performances peuvent être atteintes dans les graphiques.

Merci.

En fait, avec l'anticrénelage, les cercles doubles sont plus lents que les cercles int originaux sans anticrénelage d'environ 20%. J'ai 300 contre 250 fps.

C'est juste que vous avez apparemment mesuré des cercles anti-alias avec des ombres, et l'ombre d'un cercle est beaucoup plus vorace que le cercle lui-même. L'ombre peut être désactivée à l'aide de la fonction "draw a shadow ? = faux.

 
Nikolai Semko:

J'ai comparé la vitesse de double et int dans ces deux scripts identiques :

Étonnamment, la variante dominée par le double était même légèrement plus rapide sur mon CPU.

Méfiez-vous des conversions en masse comme (int)double ou (double)int et du mélange int+double dans les opérations mathématiques en général.

Cela donne la surcharge la plus folle dans le processeur - juste une commande assembleur aussi coûteuse. Si vous comptez en double, continuez à le faire et ne passez pas aux types entiers.

Les commandes comme cvtsi2sd/cvttsd2si sont très longues. Un petit conseil dans l'article"L'instruction x86 la plus lente", méchant numéro 2.

Le manuel de référence sur l'optimisation des architectures Intel® 64 et IA-32 indique que le coût de l'instruction cvtsd2si est de 5 latences (voir annexe C-16). cvtsi2sd, en fonction de votre architecture, a une latence variant de 1 sur Silvermont à plus comme 7-16 sur plusieurs autres architectures.

Lestables d'instructions d'Agner Fog ont des chiffres plus précis/sensibles, comme une latence de 5 cycles pour cvtsi2sd sur Silvermont (avec un débit de 1 pour 2 horloges), ou une latence de 4c sur Haswell, avec un débit de 1 pour 2 horloges (si vous évitez que la dépendance du registre de destination ne fusionne avec l'ancienne moitié supérieure, comme gcc le fait habituellement avec pxor xmm0,xmm0).

 
Nikolai Semko:

Merci.

En fait, avec l'anticrénelage, les cercles doubles sont plus lents que les cercles int originaux sans anticrénelage d'environ 20%. J'ai 300 contre 250 fps.

C'est juste que vous avez apparemment mesuré des cercles anti-alias avec des ombres, et l'ombre d'un cercle est beaucoup plus vorace que le cercle lui-même. L'ombre peut être désactivée à l'aide de la fonction "draw a shadow ? = faux.

Il s'avère que je regardais la fréquence de génération du web, pas la fréquence de sortie.

Ce sont des nombres différents, des multiples les uns des autres.