このコードを最適化するのを手伝ってください：
doe = disingonearth（）
def get_mdr_distance（row）：
route_geom = shapely.wkt.loads（row.provider_route）
route_points = route_geom.coords [：]
mdr_points = []
MDR_DISTANCE = 0
split_list（route_points）のポイントの場合：
Point_1、point_2 =ポイント
line = shapely.geometry.linestring（ポイント）
is_mdr =（
requests.post（
MDR_URL、
data = line.wkt、
headers = {"Accept"： "*/*"、 "content-type"： "text/plain"}、
）。コンテンツ
== b「true」
））
is_mdrの場合：
mdr_points.extend（ポイント）
それ以外：
LEN（MDR_POINTS）> 0の場合：
mdr_points.extend（[point_1]）
mdr_distance += doe.get_4326_geometry_length_in_n_m（shapely.linestring（mdr_points））
mdr_points = []
LEN（MDR_POINTS）> 0の場合：
mdr_distance += doe.get_4326_geometry_length_in_n_m（shapely.linestring（mdr_points））
mdr_distanceを返します
Pythonコードを最適化するためのヒントを次に示します。
-Cコードに実装されているMap（）などのビルトイン関数とライブラリを使用します。したがって、インタープリターはPythonでそれらを実行する必要はありません。
 - ソートにキーを使用します。Pythonでは、代わりにビルトインソートに重要な引数を使用する必要があります。これは、ソートするより速い方法です。
 - ループを最適化します。ループは、ループの代わりにリストの概念またはジェネレーターを使用して最適化できます。
 - 覗き穴最適化手法を適用します。この手法は、一定の式を事前に計算するか、メンバーシップテストを使用して、舞台裏のコードを最適化します。
 - コードをプロファイリングします。プロファイリングは、コードのどの部分が最も時間とリソースを占有しているかを特定するのに役立ちます。
 - 効率のためのインターン文字列。Pythonの文字列オブジェクトはUnicode文字のシーケンスであるため、文字のシーケンスと呼ばれます。インターンストリングは、メモリの使用量を削減し、パフォーマンスを向上させるのに役立ちます。

これらのヒントに加えて、パフォーマンスが批判的なセクションがある場合は、CythonまたはNumbaを使用してコードをスピードアップすることもできます。