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エンジニアの問題解決に役立つ情報を厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー 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ジャパンをフォロー