Python破滅への一歩か?【前編】
Pythonの「GIL」がなくなるのはメリットばかりではない理由
「Python」におけるマルチコアCPUの利用を妨げているのが「GIL」だ。GIL廃止の提案が承認されたことで積年の課題が解決する見込みが出てきた。一方、「混乱が起きる可能性がある」と指摘する有識者もいる。
プログラミング言語「Python」の問題の一つは、複数のCPUコアを効率的に利用することが制限されている点だ。これは主にCPython(Pythonの標準実装)が持つ「GIL」(Global Interpreter Lock)という仕組みに起因する。
マルチコアCPUを最大限に活用できないことは、Pythonのパフォーマンスに制約をもたらす。これは、Pythonが他のプログラミング言語と比較して、特定の並列処理の実行速度が遅くなることがある一因だ。
この問題について、開発者たちはPythonのスチュワード(世話役)にGILを修正するよう懇願してきた。その流れを受けて、Pythonの新機能や仕様に関する提案文書「PEP 703」には、段階的にGILを廃止する提案が盛り込まれた。2023年1月にPython運営委員会がPEP 703を承認したことによって、PythonからGILが取り除かれる可能性が出てきた。
だが、この方針は不適切だと筆者は考える。PythonからGILを取り除くのは“破滅的行為”だからだ。
GILを廃止するのは間違い?
CPythonが実行するPythonプログラムは、安全なシングルスレッドでの実行を前提としている。PythonからGILを取り除けば、その前提が崩れることになる。既存のPythonライブラリ(プログラム部品群)やPythonプログラムのうち、マルチスレッド処理の影響を受ける可能性があるものは、テストをやり直したり、場合によってはソースコードを書き直したりしなければならない。
GILが存在するバージョンから、GILが存在しないバージョンにPythonランタイム(実行環境)を移行している間は、「GILがあるランタイム用」と「GILがないランタイム用」の2つのバージョンを管理しなければならない可能性がある。こうした状況は、ソフトウェアのメンテナンスを今以上に複雑にするはずだ。
PythonからGILを取り除く影響は、Pythonプログラムだけにはとどまらない。Pythonは入力データを整形し、マルチコアスレッド処理が可能なプログラミング言語(例えば「C++」「Java」など)で作成した関数にデータを受け渡す役割を担うことがある。それらの外部関数の中には、安全なシングルスレッドでの呼び出しを前提にしているものがある。そのため、Pythonと連携するプログラムも、追加のテストや修正、メンテナンスが必要になる場合がある。
次回も引き続き、GILの廃止で想定される影響について考察する。
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
技術文書・技術解説
[ネットアップ合同会社] 金融庁ガイドラインから読み解く、「次世代データレジリエンス」の在り方 -
製品資料
[ネットアップ合同会社] 製造DXでデータ活用ニーズが拡大 分散データ活用とAI活用をどう実践する? -
製品レビュー
[ネットアップ合同会社] AIで使いたいデータが内外に点在、研究におけるAI活用を阻む“真の課題”とは -
製品資料
[株式会社kickflow] 稟議・承認作業の「脱オンプレ・脱Excel・ペーパーレス化」を一気に進める方法 -
製品レビュー
[株式会社kickflow] ワークフローシステムのクラウド化 “みんなが不幸になる”事態を避けるには?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「年1回の外部診断」が限界に 大手小売が脆弱性管理を内製化・一元化した方法
-
2
なぜ人はいるのにDXが進まない? ライオンも直面した“老害”レガシーシステム
-
3
そのアプリ危険かも? “野良アプリ”から「Android」「iOS」を守る防御策
-
4
いまIBM iエンジニアが直面する「5つの技術的課題」とその解決策
-
5
「Microsoft 365」が乗っ取られる MFAを破る“本物の画面”の恐怖
-
6
IT製品の導入に関するアンケート「PC&デバイス」編
-
7
被害額は過去最高額 それでも「サイバー犯罪者が捕まらない」3つの理由
-
8
シャトレーゼを悩ませる偽メール 混乱なしでBIMI導入とDMARC強化を実現した方法
-
9
「Windows派」「Linux派」を分ける決定的な違い
-
10
「Windows 10」を使い続ける“Windows 11未移行ユーザー”に残された最終手段
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
7
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「標的型攻撃メール」事例・サンプル集
-
10
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー