「Python」次期バージョンがもたらすのは“改良”よりむしろ地獄?PythonからGILを取り除く是非【中編】

「GIL」を「Python」から削除する提案が承認されたことに伴い、Pythonのエコシステムを支えるライブラリ管理者にも新たな課題が生まれようとしている。どのような影響を与え得るのか。

2024年09月20日 07時00分 公開
[Darcy DeCluteTechTarget]

 プログラミング言語「Python」は、簡潔な文法や豊富なライブラリで人気を博している。同時に、複数のCPUコアを効率的に利用することが制限されている問題も抱えている。これはCPython(Pythonの標準実装)が持つ「GIL」(Global Interpreter Lock)に起因する問題だ。

 GILはデータの整合性を保つ一方で、並列処理の制約となっている。この問題を解決するため、PythonコミュニティーはGILの削除を検討し始めた。ただしこの変更は新たな課題をもたらす可能性がある。なぜ問題になり得るのか。本稿はその理由のうち3つを取り上げる。

「GILなしPython」がもたらすのは改良よりむしろ地獄?

理由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.

髫エ�ス�ス�ー鬨セ�ケ�つ€驛「譎擾スク蜴・�。驛「�ァ�ス�、驛「譎冗樟�ス�ス驛「譎「�ス�シ驛「譏懶スサ�」�ス�ス

製品資料 株式会社SHIFT

ソフトウェアテストを外注すべき“5つの理由”とは?

DXの推進が叫ばれる中、その中核を担うソフトウェア開発の現場では、IT人材不足をはじめとする5つの課題が顕在化している。それらを解消し、ソフトウェアの品質を高める方法として注目されるのが、ソフトウェアテストの外注だ。

製品資料 株式会社SHIFT

ソフトウェアテスト導入事例:トヨタコネクティッド、グリー、Sansanなど4社

ソフトウェア開発ではテストを、開発エンジニアが自ら担当するシーンが散見される。ただ、開発者自身が自ら開発したものをテストすると、観点に偏りが生じてしまい検証品質が下がる。この問題の解決には第三者によるテストが重要だ。

製品資料 株式会社SHIFT

ソフトウェアテスト&第三者検証サービス選定ガイド(比較チェックシート付き)

ソフトウェアテストをアウトソースするに当たってはベンダー選びが重要だが、自社に合うテストベンダーをどう選べばよいか分からない、という声もよく聞かれる。そこで、失敗しないベンダー選定の基準を、チェックシート形式で解説する。

事例 ファインディ株式会社

プルリクオープンまでの時間を9分の1に短縮、ourlyの事例に学ぶ開発環境改善策

生産性向上が重要視される今、エンジニア組織の開発生産性を高めるために、どのような取り組みを進めればよいのか分からないという声も多い。そこで社内報CMSの開発・運用を手掛けるourlyなど、3社の事例からそのヒントを紹介する。

製品資料 株式会社ライトウェル

製造業で需要が高まるデータ活用、中堅・中小企業で実現できる方法とは?

近年の製造業ではスマートファクトリー化やDXが進み、データ活用の重要性が高まっているが、人材・予算の限られた中堅・中小企業では全社的な展開は難しい。このような問題を解消できる専用ツールについて、導入事例を交えて紹介する。

アイティメディアからのお知らせ

郢晏生ホヲ郢敖€郢晢スシ郢ァ�ウ郢晢スウ郢晢ソスホヲ郢晢ソスPR

From Informa TechTarget

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。

「Python」次期バージョンがもたらすのは“改良”よりむしろ地獄?:PythonからGILを取り除く是非【中編】 - TechTargetジャパン システム開発 隴�スー騾ケツ€髫ェ蛟�スコ�ス

TechTarget郢ァ�ク郢晢ス」郢昜サ」ホヲ 隴�スー騾ケツ€髫ェ蛟�スコ�ス

ITmedia マーケティング新着記事

news017.png

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

news027.png

「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

news023.png

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...