Почему вызов программы Python в другой программе Python замедлит работу исходной программы?

В моем инструменте hydrotopo (https://github.com/iHeadWater/hydrotopo), когда я запускаю find_edge_nodes для поиска топологических связей примерно для 100 000 линий, это занимает всего около 10 секунд; но в codeе ниже find_edge_nodes будет занимать около 30 минут:

Короче говоря, когда я вызываю свой инструмент в других программах, скорость программы становится очень низкой, а когда я приостанавливаю программу в режиме отладки, программа останавливается в predicates.has_z. В моем codeе не так уж много циклов.

Так почему же has_z будет отнимать так много времени или мне следует искать другие решения?

Если вы хотите узнать больше подробностей, посмотрите это: https://github.com/shapely/shapely/issues/2108

# extract from https://github.com/iHeadWater/torchhydro/blob/dev-gnn/torchhydro/datasets/data_sets.py#L872
import hydrotopo.ig_path as htip

# the same method costs about 30min
graph_lists = htip.find_edge_nodes(node_features, network_features, node_idx, 'up', cutoff)
return graph_lists
Трофим
Вопрос задан24 мая 2024 г.

1 Ответ

2
Полина
Ответ получен14 сентября 2024 г.

Ваш ответ

Загрузить файл.