[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 407

 
Bihkul:
Colegas, por favor, aconsejen qué y dónde cambiar en el código EA para trabajar en una empresa de corretaje con cotizaciones de cinco dígitos.
La variable Point suele ayudar
 
granit77:
Array.
Por lo que entiendo, estamos hablando de un array bidimensional, para encontrar el valor de la segunda dimensión por el valor de la primera dimensión. Pero, ¿cómo se escriben los datos en un array de antemano?
 
KONDOR:
concretamente en este caso puedes crear dos matrices, a[1000] y b[1000].
Y si el valor que buscas está al final de la matriz, obtienes una variante bastante lenta, porque tienes que buscar entre todos los valores (hasta romper). La tarea consiste en encontrarlo rápidamente, sin gastar más tiempo del que normalmente se necesita para un cálculo estándar (por ejemplo, multiplicar dos variables de tipo double).
 
KONDOR:
Hay una función de interruptor para "rápido".
Supongamos que el valor que buscamos está en la última línea de la función switch. No conozco la metodología de la función switch, pero de alguna manera me parece que no será muy diferente de la variante con el bucle for () en términos de velocidad.
 

No hará ninguna diferencia, por supuesto. Por otro lado, no siempre va a ser el último elemento.

¿Y por qué te preocupa tanto la velocidad? ¿Vas a hacer este cálculo en cada tic?

 
Mathemat:

No hará ninguna diferencia, por supuesto. Por otro lado, no siempre va a ser el último elemento.

¿Y por qué te preocupa tanto la velocidad? ¿Vas a hacer este cálculo en cada tic?

Sí, en cada garrapata.
 
Y no te preocupes, tardarás una milésima de segundo en encontrar el valor adecuado.
 
Mathemat:
Y no te preocupes, tardarás una milésima de segundo en encontrar el valor adecuado.
Ya hay una cantidad bastante decente de cálculos ahí, así que queríamos optimizar la velocidad de alguna manera
 
Existe una función TimeCurrent() que convierte la hora actual en segundos desde 1970. ¿Existe una función que convierta estos segundos (int) en datetime? ¿O es necesario separar los segundos, los minutos, las horas...? Gracias.
 
Si tienes estadísticas sobre la frecuencia de los diferentes valores de a[i], prueba a poner los más frecuentes al principio de la matriz (o cambia).