Поговорим о важности оптимизации структуры кода.

Автор:Обезьяны, Создано: 2021-05-22 05:57:14, Обновлено:

Из-за публикации открытого курса часто возникают небольшие проблемы. Сегодня поговорим о важности оптимизации структуры кода.

Для получения прибыли важнее всего два фактора: 1, удобство использования средств, 2, скорость получения заказа.

Скорость заказа обычно может быть решена с помощью ближайших серверов к бирже, покупки лучшей сети. Однако для большинства новичков, просто оптимизируя структуру кода, можно сделать стратегию на десятки миллисекунд быстрее, что не уступает эффекту замены лучшей сети. Однако стоимость намного ниже.

Однако, когда есть только одна транзакционная пара, оптимизация кодовой структуры часто увеличивается менее чем на 1 мс, почти не видно разницы.

Повышение эффективности использования капитала, часто требующего одновременного наблюдения нескольких пар сделок, приводит к увеличению числа логических циклов, при этом преимущества оптимизации кодовой структуры очевидны.

Например, есть два простых пути A-C и A-B-C, которые можно использовать, чтобы получить информацию о том, что вы делаете. Два пути требуют два вычисления, один из которых предполагает прибыль, при условии p1 и p2, один из которых рассчитывает конкретную цену и сумму, которые требуются для каждой биржи и ее сделки.

Наиболее распространенным вариантом является написание первой функции, которая рассчитывает прибыль, в частности, цена и сумма. Затем цикл вызывает эту функцию, получает прибыль от каждого пути, а затем выбирает наибольшую прибыль для сделки.

Очевидно, что нам нужно только вычислить прибыль при сравнении, без необходимости рассчитывать цену и сумму с самого начала.

Таким образом, при оптимизации можно разделить функцию profit и выборку на две функции. Сначала цикл называет функцию profit, получая profit каждого пути, а затем выбирает самую большую для выполнения сделки. Таким образом, логически, функция выборки называется с каждого цикла и становится только один раз.

Затем, если проанализировать код дальше, вы обнаружите, что в большинстве случаев, когда один из путей является прибыльным, он часто становится прибыльным для других. Поэтому очень редко бывает, что одновременно существуют несколько путей.

Таким образом, мы можем оптимизировать стратегию еще больше, установив цикл, цикл с фразой if, если обнаружен какой-то путь, где есть profit, выйти из него, и затем вычислить количество и цену заказа на этом пути.

Тогда сложность упрощается от O ((n+1) до O ((m+1), m

То есть, с помощью простой деление функции, анализ логической оптимизации структуры, можно уменьшить временную сложность от O ((2n) до O ((n/2+1)).

На самом деле, при написании кода существует большое количество сценариев, которые можно оптимизировать. Я часто пишу код после того, как закончил, и часто обнаруживаю, что при оптимизации логики есть возможность оптимизировать какой-то O ((n!) до O ((n* ((n+1)). Иногда даже можно оптимизировать логику, которая может быть выполнена в течение нескольких сотен миллисекунд, до 1 мс.

В качестве меры, которая позволит значительно сократить промежуток между стратегическими запросами, рекомендуется оптимизировать структуру кода.


Больше

Костяные ножиЕсли вы не знаете, как эффективно избежать одноногих случаев, пожалуйста, расскажите мне.

ОбезьяныЗадержка прибытия на биржу

Пойдемте.Может быть, задержка означает задержку глубоких данных?

ОбезьяныЗапись задержки, превышающей определенное значение, не проводится.