Python 3.2 - GIL - 好/坏?

2024-02-14

Python 3.2 阿尔法is out http://python.org/download/releases/3.2/.

从更改日志来看,GIL 似乎已被完全重写。

几个问题:

  1. 拥有 GIL 是好是坏? (和 为什么)。
  2. 新的GIL更好吗?如果是这样,怎么办?

UPDATE:

我对 Python 还很陌生。所以所有这些对我来说都是新的,但我至少明白 CPython 中 GIL 的存在是一件大事。

但问题是,为什么 CPython 不像 Perl 那样克隆解释器来尝试消除对 GIL 的需要?


我见过的关于为什么 GIL 很糟糕的最好解释是:

http://www.dabeaz.com/python/GIL.pdf http://www.dabeaz.com/python/GIL.pdf

同一个人在这里也有关于新 GIL 的演示:

http://www.dabeaz.com/python/NewGIL.pdf http://www.dabeaz.com/python/NewGIL.pdf

如果这就是所做的一切,它仍然很糟糕——只是没有那么糟糕。多线程会表现得更好。对于单个 python 应用程序来说,多核仍然不会为你做任何事。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 3.2 - GIL - 好/坏? 的相关文章

随机推荐

  • CLR 字符串引用不(始终)匹配

    来自里希特和这次讨论 https stackoverflow com questions 8482479 why are 2 separate string references equal in other words why are s
  • 无法从链接的 SQL Server 查询视图

    在 SQL Server Management Studio 中 我链接了 SQL Server sql02到我的本地服务器 sp addlinkedserver sql02 GO 我可以从此服务器查询表 SELECT FROM SQL02
  • 如何从多个 mysql 列中选择不同的值并将它们放入一个 PHP 数组中?

    我有一个歌曲表 其中每首歌曲最多可以有 3 种不同的流派 因此 在我的表中 对于每首歌曲 我都有 流派 1 流派 2 和 流派 3 列 我正在尝试显示列表中可用的所有类型 这是一个随机示例集 genre1 genre2 genre3 met
  • 如何配置 WWW::Mechanize 以在代理和 https 后面工作?

    我已经使用 WWW Mechanize 编写了 Perl 代码来检索网页 当我检索 http 网页时 它工作正常 但不适用于 https 我已经检查过了 我有 Crypt SSLeay 包 还有什么可能是错误的 错误信息是 Error GE
  • 如何设置列值等于行号?

    我如何设置更改表后添加的列的值等于sql server 2008中的行号 也就是说 我希望该列的值等于行号 的行 我还希望该字段允许 NULL 值 因此 它就像自动增量但允许空值 这就是为什么不想使用具有自动增量的标识或主键列 那么如何才能
  • 如何限制 HttpModule 每个请求只能调用一次?

    这是我的 HttpModule 实现 带有模块的文件 public class HttpModuleRewriter IHttpModule region IHttpModule public void Init HttpApplicati
  • 禁用segue动画

    我想在我的故事板中显示 例如推送 segues 以连接我的视图控制器和导航控制器 然后视图控制器上的导航栏将正确显示 例如 使用显示详细信息或呈现模式 导航栏将消失 但我不想继续动画 Xcode 发出如下警告 在 iOS 9 0 之前 无法
  • 相似图像 - 如何比较它们

    我有超过 130 万张图像需要相互比较 并且每天都会添加数百张图像 我的公司拍摄图像并创建一个可供我们的供应商使用的版本 这些文件通常彼此非常相似 例如 两个不同的公司可以向我们发送两个不同的图像 一个 JPG 和一个 GIF 两者都带有麦
  • 如何使这个 CSS 汉堡菜单完全可点击?

    我正在开发一个纯 CSS 汉堡菜单图标 到目前为止 它工作得很好 只是线条之间的间隙不可点击 我如何修改此代码 以便整个按钮都可单击 而不仅仅是线条 a href title Open Menu class menu a menu widt
  • 在 ColorDialog 中设置自定义颜色

    颜色对话框中的自定义颜色设置应使用以下代码设置为 Blue Blue colorDialog1 CustomColors new int System Drawing Color Blue ToArgb 0xFF0000 colorDial
  • 为什么atomic.StoreUint32比sync.Once中的普通分配更受欢迎?

    在阅读Go源码时 我对src sync once go中的代码有一个疑问 func o Once Do f func Note Here is an incorrect implementation of Do if atomic Comp
  • backbone.js:自上次服务器保存以来是否有变化?

    我有一个骨干模型 使用 model set 我可以设置本地值 使用 model save 我可以将整个模型保存到服务器 我如何知道自上次服务器保存以来是否发生了更改 这意味着本地版本是脏的 模型 isNew 仅当模型从未保存到服务器时才有效
  • TestNG - 如果满足条件,如何从 BeforeSuite 注释中强制结束整个测试套件

    如果满足 BeforeSuite 注释中的条件 是否有办法退出整个测试套件 也许有一种方法可以调用 AfterSuite 并绕过整个测试 我在 BeforeSuite 中进行数据库调用 如果查询返回任何结果 我会发送一封电子邮件 现在想要终
  • 将 spring 区域设置变量传递给 application.properties

    我已将 URL 放入 application properties 文件中 现在这些 URL 需要具有语言 以便页面以不同的语言加载 例如 在我的 application properties 文件中 我有一个 联系我们 链接的属性 如下所
  • PostgreSQL 是否像 Oracle 一样缓存准备好的语句

    在使用 Oracle 几年后 我刚刚转向 PostgreSQL 我一直在研究 PostgreSQL 数据库应用程序 Java JDBC 中准备好的语句的一些性能问题 Oracle 在其 SGA 中缓存准备好的语句 准备好的语句池在数据库连接
  • 为什么C中函数的大小总是1字节?

    当我们使用以下命令检查函数的大小时sizeof 我们总是得到1 byte 这1个字节代表什么 这是一个约束违规 你的编译器should诊断它 如果它编译它 尽管如此 你的程序有未定义的行为 感谢 Steve Jessop对失败模式的澄清 并
  • 如何使用 StyledDocument 和 HTML 进行输出?

    我有一个JTextPane 我想使用其中输出文本StyledDocument 这是我的StyledDocument object StyledDocument dox StyledDocument textArea getDocument
  • ncurses 无法识别箭头键宏

    很长一段时间以来 我一直在努力寻找解决方案 我无法让终端窗口识别键盘 这是我的代码 while 1 if cmd ERR printw Controls LEFT RIGHT and SPACEBAR Q TO QUIT if cmd St
  • 跨平台 C# 媒体 API

    我正在尝试在 mono net 对象中定义一个 VideoFile 以便我可以调用 var file new VideoFile filepath file VideoDuration 是否有一个库 操作系统或商业 可以跨平台 mono n
  • Python 3.2 - GIL - 好/坏?

    Python 3 2 阿尔法is out http python org download releases 3 2 从更改日志来看 GIL 似乎已被完全重写 几个问题 拥有 GIL 是好是坏 和 为什么 新的GIL更好吗 如果是这样 怎么