В гипотетическом сценарии, когда у меня есть большой объем данных, которые получены, и, как правило, в хронологическом порядке после получения, есть ли способ «воспроизвести» данные вперед или назад, тем самым воссоздавая поток новая информация по запросу? Я знаю, что в упрощенном смысле у меня всегда может быть сценарий (с каким-либо выходным значением неважным), который начинается с цикла for, который принимает любое количество событий или наблюдений и что-то делает, затем берет больше наблюдений, обновляет то, что было ранее вывода с новым результатом и т. д. Есть ли способ сделать это более масштабируемым, чем простой цикл?Проверка данных с данными
В принципе, в любое время, когда я изучаю эту тему, я быстро нахожусь в предметной области высокочастотной торговли, в частности эффективности алгоритма, в целях обратной проверки исторических данных. Хотя мой вопрос заключается в том, чтобы сделать это в более широком смысле, когда наше наблюдение не обязательно должно быть запасом/опцией/будущими ценовыми пунктами, должны применяться те же принципы. Кто-нибудь имеет такой опыт в том, как такая платформа построена на более масштабируемом уровне, чем просто цикл с логикой под ней? Другим примером могут быть данные о состоянии здоровья/претензии, в которых можно увидеть назад и вперед то, что произошло, когда со временем приходят больше заявлений.
Я не уверен, если вы можете действительно говорят о «масштабируемости» цикла 'for'. Как еще вы могли бы пересечь все элементы в наборе данных размера N, не переходя все N элементов? –
Возможно, я сказал это слишком жестко. Чтобы быть ясным, я бы рассмотрел процесс, построенный вокруг цикла for, такого как многопроцессорность, при котором несколько процессов выполняются отдельно для циклов и передаются по каналам или что-то еще, чтобы быть отличным от простого запуска цикла for. Если это было неясно, я извиняюсь, но я бы рассмотрел такой ответ, как тот, который был выше, чем просто использование цикла for. – Alt182
Я вижу. Хотя можно сопоставлять данные по нескольким процессам (или даже на отдельных серверах) относительно просто, это кажется нелогичным для этого - как вы можете обрабатывать данные, которые по своей сути линейны (потому что они основаны на времени) параллельно? Например, если вы тестируете торговый алгоритм на исторических данных, разве вы не должны обрабатывать его линейным образом, чтобы поддерживать тот же поток данных, который вы получили бы в режиме реального времени? –