使用numpy/scipy的unladen-swallow

7 投票
3 回答
702 浏览
提问于 2025-04-15 19:41

有没有人用过unladen-swallow这个工具和numpy/scipy一起做数字计算或者科学应用?你觉得它的速度快吗?如果有任何看法,欢迎分享。

3 个回答

1

关于这个问题,不是答案:

Total runtime = python + numpy + interface,  
                cpython/unladenswallow + mostlyC + interface.

如果没有真实的数据来说明这三种分配方式是怎么分的——比如20、70、10,或者40、40、20?还有超过一个基准的情况,
我们就无法判断哪种方式更好。

1

应该会更快。我自己还没有测试过,但我刚从pycon大会回来,他们有一个关于unladen-swallow的讲座,提到使用numpy和其他一些包时性能会有提升。你可以在这里观看这个讲座。

5

目前还没有很多人对Unladen Swallow有深入的了解,除了开发者自己,所以想找到能讨论这个话题的人会比较难。而且,由于有关于将Unladen Swallow(它是用LLVM构建的)与CPython运行时合并的讨论,事情在稳定之前会有很多变化。

虽然有关于Unladen Swallow的性能测试数据,但numpy和scipy并不在其中。正如开发者自己所说:“……像numpy这样的扩展模块的性能并不重要,因为numpy的核心功能是用C语言实现的。”

简单来说,如果你为numpyscipy写了好的代码,那么在Unladen Swallow下你的代码不会“显著更快”,因为它已经在虚拟机层面以下运行了。如果你为numpyscipy写了不好的代码,那你需要先修正你的代码,然后再回到第一句话。

撰写回答