Hablemos de la importancia de optimizar la estructura del código.

El autor:Las cuchillas, Creado: 2021-05-22 05:57:14, Actualizado:

A menudo se encuentran algunos problemas en blanco debido a la publicación de un programa abierto.

En cuanto a las ventajas, lo más importante son dos cosas: 1. la utilización de los fondos.2. la velocidad de pedido.

La velocidad de pedido generalmente se puede resolver con la proximidad de los servidores de los intercambios, la compra de una mejor red, etc. Pero en realidad, para la mayoría de los novatos, solo optimizar la estructura del código puede hacer que la estrategia sea más rápida en decenas de milisegundos, lo que no es inferior al efecto de cambiar por una mejor red. Sin embargo, el costo es mucho menor.

Sin embargo, cuando solo hay un par de transacciones, la velocidad de mejora de la optimización de la estructura del código a menudo es de menos de 1 ms, y casi no se ve la diferencia.

La mejora de la utilización de los fondos, que a menudo requiere que se observen múltiples pares de transacciones simultáneamente con el mismo capital, aumenta el número de ciclos lógicos, cuando los beneficios de optimizar la estructura del código son evidentes. En general, la complejidad de las consultas de múltiples transacciones en la mayoría de los intercambios es de O ((n!), ¡puede reducirse a O ((n!/(m!)) o incluso a O ((n*m) ((m

Por ejemplo, hay dos rutas de búsqueda, A-C y A-B-C, y una de ellas es la que se utiliza para encontrar la dirección correcta. Cada uno de los dos caminos debe calcularse dos veces, una vez que se calcula el camino que puede generar ganancias, suponiendo p1 y p2, una vez que se calcula el camino específico para cada intercambio y su transacción.

Una de las formas más comunes es escribir primero una función que calcula el beneficio, especificando el precio y la cantidad. Luego, la función se llama en el ciclo, obtiene el beneficio de cada camino y luego se selecciona el mayor beneficio para realizar la transacción.

Obviamente, solo necesitamos calcular el beneficio en la comparación, sin tener que calcular el precio y el monto de la compra desde el principio.

Por lo tanto, en la optimización, se puede dividir el beneficio y el reclamo en dos funciones. Primero, se recorre la función que llama el beneficio, obteniendo el beneficio de cada camino, y luego se selecciona el mayor beneficio para realizar transacciones. Así, lógicamente, la función que llama el beneficio se llama de cada recorrido y se convierte en una sola llamada.

Luego, si se analiza el código más a fondo, se descubre que, en general, debido a la presencia de otros trabajadores de ventaja, una vez que un camino es beneficioso, a menudo es beneficiado por otros. Por lo tanto, es difícil que haya varios caminos que sean beneficiosos al mismo tiempo.

Así que podemos optimizar aún más la estrategia, establecer un ciclo, el ciclo de la declaración si, si se encuentra que un camino tiene un beneficio, se rompe, y luego se calcula el número de pedidos y el precio de este camino.

Entonces la complejidad se simplifica aún más a partir de O ((n + 1) para O ((m + 1), m < n. Cuando las oportunidades de los intercambios son iguales, m es aproximadamente igual a n/2 o la complejidad se reduce a O ((n/2 + 1).

Es decir, mediante una simple función de desglose, el análisis de la estructura de optimización lógica, se puede reducir la complejidad de tiempo de O ((2n) a O ((n/2+1)).

En realidad, cuando se escribe código, hay un gran número de escenarios que se pueden optimizar, y a menudo después de escribir el código, a menudo me encuentro con la posibilidad de optimizar una lógica de O (n!) a O (n * (n + 1)).

Como un poco de tiempo puede reducir drásticamente el intervalo de consultas estratégicas, recomendamos optimizar la estructura del código.


Más.

Cuchillo de hueso¿Puede decirme cómo el uso de la ventaja puede evitar de manera eficiente la aparición de una sola pierna?

Las cuchillasLas suspensiones tardan en llegar a las bolsas

¡Vamos ahora!¿La demora se refiere a la demora de los datos profundos?

Las cuchillasRegistro de retrasos, más de un valor en el momento en que el interés no se lleva a cabo.