PythonからGILを取り除く是非【中編】
「Python」次期バージョンがもたらすのは“改良”よりむしろ地獄?
「GIL」を「Python」から削除する提案が承認されたことに伴い、Pythonのエコシステムを支えるライブラリ管理者にも新たな課題が生まれようとしている。どのような影響を与え得るのか。
プログラミング言語「Python」は、簡潔な文法や豊富なライブラリで人気を博している。同時に、複数のCPUコアを効率的に利用することが制限されている問題も抱えている。これはCPython(Pythonの標準実装)が持つ「GIL」(Global Interpreter Lock)に起因する問題だ。
GILはデータの整合性を保つ一方で、並列処理の制約となっている。この問題を解決するため、PythonコミュニティーはGILの削除を検討し始めた。ただしこの変更は新たな課題をもたらす可能性がある。なぜ問題になり得るのか。本稿はその理由のうち3つを取り上げる。
「GILなしPython」がもたらすのは改良よりむしろ地獄?
併せて読みたいお薦め記事
連載:PythonからGILを取り除く是非
GIL廃止で生じる影響
理由2.複数バージョンをサポートする必要がある
GILを廃止したPythonに切り替えるPythonエンジニアが増えれば、人気のPythonライブラリ(プログラム部品群)の管理者もそれに従うことをコミュニティーは期待する。一方でこうしたライブラリには根強いユーザーがいるため、GILがあるバージョンのPythonでも動作するようサポートを継続する必要がある。その結果、ライブラリの管理者は、2つの異なる仕組みを持つディストリビューション(配布パッケージ)を同時にサポートするという望ましくない状況に追い込まれる可能性がある。
理由3.外部関数と連携できなくなる
Pythonの強みの一つは、「Java」や「C++」などのプログラミング言語で作成された関数やプロシージャ(複数の処理を1つにまとめたプログラム)を呼び出せることだ。こうした外部関数は現状、安全なシングルスレッド方式で呼び出されることを前提として実装されている。GILを廃止したPythonを正しく機能させるには、こうした外部関数も全て更新しなければならない。
理由4.stop-the-worldへの対処が必要になる
複数のスレッドが関与するメモリ管理は、総じて難しいものだ。GILがないPythonで、不要なデータを削除して空き容量を増やす「ガベージコレクション」(GC)を実現するには、メモリを再利用するためにあるイベントが必要になる。それが2回の「stop-the-world」(STW)だ。
STWはプログラムを完全に停止させるイベントだ。プログラムの一時停止時間は15秒になることもある。Pythonエンジニアにとって、そのような時間に及ぶプログラムの停止は受け入れがたいはずだ。
次回は、5つ目と6つ目の理由を取り上げる。
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Microsoft 365のセキュリティ運用」に関するアンケート
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
「データストレージの活用方法」に関するアンケート
-
8
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
9
AIで人を減らした企業がもう心変わり 「AIブーメラン現象」の実態
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー