【发布时间】:2023-04-03 13:17:01
【问题描述】:
我以前没有在我的任何程序中使用过多处理,我想了解它是如何实现的。我可以使用具有 24 个内核的机器,并且目前正在进行优化项目。
def compute_euclidean_distance_matrix(locations):
"""Creates callback to return distance between points."""
distances = {}
for from_counter, from_node in enumerate(locations):
distances[from_counter] = {}
for to_counter, to_node in enumerate(locations):
if from_counter == to_counter:
distances[from_counter][to_counter] = 0
else:
# Euclidean distance
distances[from_counter][to_counter] = (int(
math.hypot((from_node[0] - to_node[0]),
(from_node[1] - to_node[1]))))
return distances
这是我目前用来构建距离时间矩阵的代码。对于 1000 点左右的数据集,它会很快生成输出,但是假设我有一个 50000 点的数据集,如何使用我 PC 上的所有内核快速计算?
【问题讨论】:
标签:
python
multithreading
python-multiprocessing
or-tools
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在python的循环中使用多处理快速生成解决方案? - Python技术站