「GIL」を「Python」から削除する提案が承認されたことに伴い、Pythonのエコシステムを支えるライブラリ管理者にも新たな課題が生まれようとしている。どのような影響を与え得るのか。
プログラミング言語「Python」は、簡潔な文法や豊富なライブラリで人気を博している。同時に、複数のCPUコアを効率的に利用することが制限されている問題も抱えている。これはCPython(Pythonの標準実装)が持つ「GIL」(Global Interpreter Lock)に起因する問題だ。
GILはデータの整合性を保つ一方で、並列処理の制約となっている。この問題を解決するため、PythonコミュニティーはGILの削除を検討し始めた。ただしこの変更は新たな課題をもたらす可能性がある。なぜ問題になり得るのか。本稿はその理由のうち3つを取り上げる。
GILを廃止したPythonに切り替えるPythonエンジニアが増えれば、人気のPythonライブラリ(プログラム部品群)の管理者もそれに従うことをコミュニティーは期待する。一方でこうしたライブラリには根強いユーザーがいるため、GILがあるバージョンのPythonでも動作するようサポートを継続する必要がある。その結果、ライブラリの管理者は、2つの異なる仕組みを持つディストリビューション(配布パッケージ)を同時にサポートするという望ましくない状況に追い込まれる可能性がある。
Pythonの強みの一つは、「Java」や「C++」などのプログラミング言語で作成された関数やプロシージャ(複数の処理を1つにまとめたプログラム)を呼び出せることだ。こうした外部関数は現状、安全なシングルスレッド方式で呼び出されることを前提として実装されている。GILを廃止したPythonを正しく機能させるには、こうした外部関数も全て更新しなければならない。
複数のスレッドが関与するメモリ管理は、総じて難しいものだ。GILがないPythonで、不要なデータを削除して空き容量を増やす「ガベージコレクション」(GC)を実現するには、メモリを再利用するためにあるイベントが必要になる。それが2回の「stop-the-world」(STW)だ。
STWはプログラムを完全に停止させるイベントだ。プログラムの一時停止時間は15秒になることもある。Pythonエンジニアにとって、そのような時間に及ぶプログラムの停止は受け入れがたいはずだ。
次回は、5つ目と6つ目の理由を取り上げる。
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
DXの推進が叫ばれる中、その中核を担うソフトウェア開発の現場では、IT人材不足をはじめとする5つの課題が顕在化している。それらを解消し、ソフトウェアの品質を高める方法として注目されるのが、ソフトウェアテストの外注だ。
ソフトウェア開発ではテストを、開発エンジニアが自ら担当するシーンが散見される。ただ、開発者自身が自ら開発したものをテストすると、観点に偏りが生じてしまい検証品質が下がる。この問題の解決には第三者によるテストが重要だ。
ソフトウェアテストをアウトソースするに当たってはベンダー選びが重要だが、自社に合うテストベンダーをどう選べばよいか分からない、という声もよく聞かれる。そこで、失敗しないベンダー選定の基準を、チェックシート形式で解説する。
生産性向上が重要視される今、エンジニア組織の開発生産性を高めるために、どのような取り組みを進めればよいのか分からないという声も多い。そこで社内報CMSの開発・運用を手掛けるourlyなど、3社の事例からそのヒントを紹介する。
近年の製造業ではスマートファクトリー化やDXが進み、データ活用の重要性が高まっているが、人材・予算の限られた中堅・中小企業では全社的な展開は難しい。このような問題を解消できる専用ツールについて、導入事例を交えて紹介する。
いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。
「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。
「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。
「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...