计算zope的最佳解释器检查间隔

jarn.checkinterval的Python项目详细描述


计算运行它的计算机的最佳解释器检查间隔。 公式如下:

<result of pystone benchmark> / 50

安装和使用

checkinterval脚本必须安装到用于 运行zope。这最容易通过在buildout.cfg中添加一个部分来实现:

[buildout]
parts = checkinterval

[checkinterval]
recipe = zc.recipe.egg
eggs = jarn.checkinterval

重新运行构建后,键入:

$ ./bin/checkinterval
1305

你看到的数字是这台机器的推荐检查间隔;把它 进入zope.conf文件:

python-check-interval 1305

现在重新启动Zope并沐浴在光芒中。

为什么在乎?

关于check interval主题的python库引用: “此整数值确定解释器检查周期性 例如线程开关和信号处理程序。默认值是100, 这意味着每100条python虚拟指令执行一次检查。 将其设置为更大的值可能会提高使用 线程“

现在,zope应用程序服务器就是这样一个程序,它对的好处非常大 设置正确的检查间隔。如果值太低,zope 线程被不必要地中断,导致显著的性能下降 今天的多CPU硬件。

50个是从哪里来的?

公式中的常数50由zope执行的基准确定。 并已成为“Zope知识”的一部分(参见 Matt Kromer)。超过pystone/50不会产生更多的好处。

对于除了zope和 英特尔以外的平台。

背景

更多关于检查间隔和来自David Beazly的gil的信息。

对于那些从beazly talk回来的人:zope使用长时间运行的线程 asyncore,使它(更)独立于操作系统调度问题。尽管如此, 中断论点成立。

更改日志

1.0-2009-06-13

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spotbugs空指针取消引用问题(可选)   java如何根据另一个类更改状态更新进度条?   带点word的Java正则表达式   java隐藏默认属性   在Spring Boot自动配置中使用子类扩展java数据源   java设置Arraylist的Arraylist的值   java Spring验证在服务层级别不起作用   java Opensaml密钥信息配置   java在SpringXML中声明整数、双精度、浮点、字符串等   爪哇工薪雇员   java如何解决gradle将jar上传到nexus的maven存储库时POM文件无效的问题?   在Xpages中从服务器端javascript/java调用C代码?   网络为什么在java中运行这个while循环?   java服务器端脚本在没有servlet的情况下连续运行   java使用JRE分发我的应用程序jar