タグ

2023年8月3日のブックマーク (2件)

  • Pythonがグローバルインタプリタロックの解消へ、マルチスレッド処理の高速化実現

    Python Software Foundationのステアリングカウンシル(Steering Council)は、Pythonのグローバルインタプリタロック(Global Interpreter Lock)を解消する方向で開発を進めていくことを明らかにしました。 グローバルインタプリタロックとは? グローバルインタプリタロックとは、その名前が示すとおりインタープリタ全体で1つのロックを持つことです。 これによりシングルスレッドのプログラムにおいては細かなロック制御が不要となって速度の向上がはかれる一方、マルチスレッドの平行性は制限されるという欠点があります。 また、スレッドセーフではないC言語などによるライブラリとの結合が容易となっています。 Pythonの標準実装であるCPythonでは、以前からグローバルインタプリタロックが採用されていました。 グローバルインタプリタロックを解消する

    Pythonがグローバルインタプリタロックの解消へ、マルチスレッド処理の高速化実現
    katsyoshi
    katsyoshi 2023/08/03
    5年は楽観的すぎでは?/これこそご乱心なんだけど大丈夫なんだろうか
  • ObjectSpace を利用して Ruby 製 worker のメモリ使用量を改善した - @watson1978 の日記

    現在、Ruby 製 worker を作成することを業務で行っているのですが、継続的にメモリ使用量が増加する現象に遭遇してました。 (グラフの値が下がったタイミングが数回ありますが、それぞれでデプロイが行われてリセットされただけ) ObjectSpace.allocation_sourcefile や ObjectSpace.allocation_sourceline を利用してどのファイルのどの行でメモリ確保が多くなるのか調べれるようにしました。 以下のようなコードを worker に追加しました。 require 'objspace' class MemoryProfiler INTERVAL = 5 * 60 DISPLAY_COUNT = 20 def self.start Thread.start do loop do memory_usages = {} ObjectSpace.

    ObjectSpace を利用して Ruby 製 worker のメモリ使用量を改善した - @watson1978 の日記
    katsyoshi
    katsyoshi 2023/08/03
    すごくないですか?