问题标签 [python-stackless]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
189 浏览

python - 在python中有没有工作线程这样的东西?

我编写了一个漂亮的多线程脚本,当我运行它时,它在 25 个线程中的表现比直接调用线程处理程序时更差。

然后我发现了全局解释器锁。我想问,在我为这个脚本丢弃 python 并用其他东西重写之前,有没有办法在 python 中进行实际工作的多线程?

0 投票
1 回答
247 浏览

python - 为什么我的 Stackless 可执行文件要小得多

我为 Stackless Python 竞赛编写了一些游戏,需要创建一个可执行文件。不过意外的是,我使用 CPython 2.6 而不是 Stackless Python 2.5 来构建可执行文件。我正确重建,发现 dist 的最终大小从略超过 30 MB 下降到大约 8。出于好奇,这是为什么呢?作为一种猜测,我会冒险这是因为我在 CPython 中安装了 Twisted 和 Qt4 之类的库,但没有在 Stackless 中,并且 Py2exe 包在所有东西中,无论它们是否被使用(可能是因为你总是可以动态调用代码),但如果有人真的知道,我会有兴趣了解原因。

0 投票
3 回答
708 浏览

c# - C# 中是否有类似于 Stackless Python 的东西?

是否有类似于Stackless Python的东西,即支持 C# 中的延续、微线程和轻量级进程的框架?我知道 C# 5 将部分支持其中一些特性。但是现在有什么可以用的吗?

0 投票
7 回答
3909 浏览

python - Python 的类似 Erlang 的并发?

Python 有没有像 Erlang 那样具有并发性的东西,特别是网络上的透明参与者?我看过诸如greenletstackless之类的东西,但它们似乎没有演员的网络透明性。

我仍然不能完全跳过 Erlang/OTP 的障碍,所以我很感兴趣是否有离家更近的东西。

0 投票
1 回答
493 浏览

python - 使用 Visual Studio 的 Python 工具进行 Stackless Python 开发

适用于 Visual Studio Beta的Python 工具(包括对 CPython 的支持)是否允许您在 Stackless Python 中进行开发?

如果是这样,除了在现有的 VS2010 安装上安装 PTVS 之外,您能否扩展您的答案以包括设置 Stackless Python 环境所需的任何步骤?

0 投票
2 回答
1784 浏览

python - 是否可以将 PyPy 嵌入到 .NET 应用程序中?

我想将 Python 解释器嵌入到我的 .NET 应用程序中。当然,我知道 IronPython,但我对PyPy特别感兴趣,因为它的无堆栈支持和微线程。

然而,虽然 PyPy 可以针对 CLI 构建,但它看起来只是为您提供了一个独立的 Python 解释器,例如 python.exe。我还没有找到任何文档来构建可以实际嵌入到 .NET 主机应用程序中的东西。

有没有办法使用(无堆栈)PyPy 从 .NET 应用程序运行 Python 脚本,并允许这些脚本与主机应用程序提供的 CLR 对象进行交互?

0 投票
1 回答
217 浏览

python - Stackless Python 中的 Tasklets 本地存储

我从 Stackless Python 开始,所以这对我来说是一个全新的神奇世界。我通常使用常规线程,它们通常具有线程本地存储 (TLS),当您不需要与其他线程共享内存时,这是一个非常有用的功能。

所以,我想知道 Stackless Python 是否有类似的东西:一种为给定的 tasklet 存储本地内存(python 对象)的方法。那可能吗?

提前致谢。-F

0 投票
2 回答
2097 浏览

python - Stackless Python - for 循环中的递归?

我对编程还很陌生,而且我已经使用 Python 工作了几个月了。我试图让一个概念与 Stackless 一起工作,但就是不知道如何(尽管我已经编写了其他与 Stackless 一起工作的测试脚本)。

Anywho,作为一个简单的例子,考虑下面的代码,它遍历一个列表并通过递归调用相同的函数来找到它的所有排列(编辑:n 维笛卡尔积)。

产生:

到目前为止,我发现的 Stackless 和递归的唯一示例似乎是函数在完成后在函数末尾发送信息。永远不要在 for 循环的中间,就像上面所说的那样。

我该怎么做?我如何将它变成一个可以使用 tasklet 而不是递归函数运行的脚本?(这个版本是我能想到的最好的版本,但无论我怎么安排都失败了。这是许多尝试中的一个,我不妨在这一点上把意大利面扔到墙上。)

奖励 e-cookie 用于在没有bounceBack 功能的情况下执行此操作 - 我还没有找到一种方法让单个 tasklet 在没有一个的情况下多次将信息传递给它自己。

谢谢你的时间!

0 投票
4 回答
809 浏览

python - 使用名为 guppy ( heapy ) 的 Python 工具时 C 代码中的段错误

因此,我在具有相同架构但 C 编译器略有不同的两台不同机器上使用 Python Stackless 和 heapy。Heapy 在第一个上工作得很好,但我在第二个上得到了核心转储。

我不知道如何解决这个问题。任何建议表示赞赏。

如果您想知道,这就是它在另一个有效的方法中的样子:

编辑:

好的,正如@Employed Russian 所建议的那样,这里是gdb 回溯:

EDIT2:更多信息:

所以这条线

if (PyTuple_Check(co->co_varnames))

是文件 stdtypes.c 中以下函数中发生段错误的地方:

0 投票
2 回答
13862 浏览

python - 为什么发电机不能腌制?

Python 的泡菜(我在这里说的是标准的 Python 2.5/2.6/2.7)不能泡菜锁、文件对象等。

它也不能腌制生成器和 lambda 表达式(或任何其他匿名代码),因为腌制实际上只存储名称引用。

对于锁和依赖于操作系统的功能,您不能腌制它们的原因显而易见的并且是有道理的。

但是为什么你不能腌制发电机呢?


注意:为了清楚起见——我对根本原因(或进入该设计决策的假设和选择)感兴趣,而不是“因为它给你一个 Pickle 错误”。

我意识到这个问题的目标有点广泛,所以这里有一个经验法则来判断你是否回答了这个问题:“如果提出这些假设,或者允许的发电机类型以某种方式受到更多限制,酸洗发电机会再次工作吗?”