Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
si escribe tales clases:
A juzgar por su investigación, la clase B será más lenta de ejecutar si se utilizan frecuentemente campos de estructura en los cálculos?
Entonces, estábamos discutiendo el tiempo de recorrer un array de objetos))
Según tu ejemplo será igual en pluses, pero en mql hay un matiz, hay dos campos implícitos que van primero, por lo que, el campo de datos será abordado por desplazamiento, es decir, cálculos adicionales durante la desreferenciación.
Entonces, estábamos discutiendo el tiempo de recorrido de la matriz de objetos))
Según tu ejemplo sería lo mismo en pluses, pero en mql hay un matiz, hay dos campos implícitos, que van primero, por lo que, se accederá al campo de datos por desplazamiento, es decir, cálculos adicionales durante la desreferenciación.
Gracias, es muy útil.
Entonces, estábamos discutiendo el tiempo de recorrido de la matriz de objetos))
Según tu ejemplo será igual en pluses, pero en mql hay un matiz: hay dos campos implícitos que van primero, por lo que se accederá al campo de datos con un desplazamiento, es decir, se realizarán cálculos adicionales de desreferenciación.
Así pues, nada de misticismo: las leyes de la física en acción.
No se ajusta a las "leyes de la física".
Se trata de un resultado paradójico. Los cálculos más complejos se realizan 1,5 veces más rápido y no dependen del tamaño.
Entonces, estábamos discutiendo el tiempo de recorrido de la matriz de objetos))
Según tu ejemplo será lo mismo en pluses, pero hay un matiz en mql - hay dos campos implícitos que van primero, por lo que se accederá al campo de datos con un desplazamiento, es decir, se realizarán cálculos adicionales de desreferenciación.
Gracias a Vladimir por el estudio del ensamblador.
Y como sugiere Alexey, la sobrecarga es creada por las clases.
De esto podemos concluir que si se puede prescindir de las clases, es mejor escribir el código en estilo procedimental.
Es decir, si la tarea no requiere velocidad, puedes envolverla en una clase, pero si se trata de ticks, por ejemplo, es mejor usarla directamente sin envoltorios.
En principio, este es el enfoque que he seguido, y a menudo encontrar un ejemplo de una clase, desmontar sus métodos en el enfoque de procedimiento.
Gracias Vladimir por el estudio de montaje.
Y como sugiere Alexey, la sobrecarga crea clases.
De esto podemos concluir que si podemos prescindir de las clases, es mejor escribir el código en estilo procedimental.
Es decir, si la tarea no requiere velocidad, puedes envolverla en una clase, pero si se trata de ticks, por ejemplo, es mejor escribir directamente sin envoltorios.
En principio, este es el enfoque que he estado siguiendo y, a menudo, al encontrar un ejemplo de una clase, desmonto sus métodos utilizando el enfoque procedimental.
Hay un troll en el foro...
Antes no entendía por qué algunos usuarios pedían la función de ignorar, ah como ahora no está...
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Preguntas sobre POO en MQL5
fxsaber, 2020.05.30 14:06
No tengo ni idea de qué hacer con él. He hecho estructuras sencillas.
No sé por qué el acceso al primer campo de una estructura simple depende de su tamaño.
Para estructuras de tamaño 20 y 84 bytes, esto supone 0,93GB y 3,91GB de datos, respectivamente.
Y en el marco de su cálculo, presumiblemente, toda esta memoria pasa por la caché del procesador.
Y una explicación muy lógica para estos resultados sería que 0,93 GB de datos se descargaran de la memoria a la caché de la CPU cuatro veces más rápido que los 3,91 GB de datos.
¿Y los resultados de la prueba C++?
Porque he visto código ensamblador, pero no resultados de pruebas, ¿o es que he mirado mal?
Hay un troll en el foro...
Antes no entendía por qué algunos usuarios pedían la función de ignorar, ah cómo ahora no está...
Debes velar por ti, no por los demás.
Ni tú ni para ti fue la respuesta.
Ignorar en silencio ))
Para estructuras de 20 y 84 bytes, son 0,93GB y 3,91GB de datos respectivamente.
Y como parte de su cálculo, presumiblemente toda esta memoria pasa por la caché del procesador.
Y una explicación muy lógica para estos resultados sería que 0,93 GB de datos se descargaran de la memoria a la caché de la CPU cuatro veces más rápido que los 3,91 GB de datos.
¿Y los resultados de la prueba C++?
Porque he visto código ensamblador, pero no resultados de pruebas, ¿o es que he mirado mal?
Gracias Vladimir por el estudio de montaje.
Y como sugiere Alexey, la sobrecarga crea clases.
De esto podemos concluir que si podemos prescindir de las clases, es mejor escribir el código en estilo procedimental.
Es decir, si la tarea no requiere velocidad, puedes envolverla en una clase, pero si se trata de ticks, por ejemplo, es mejor escribir directamente sin envoltorios.
En principio, este es el enfoque que adopto, y a menudo encontrando un ejemplo de una clase, desmonto sus métodos en estilo procedimental.
Puedes usar una estructura en lugar de una clase, están bien.