擅长:python、mysql、java
<p>我使用并致力于skulpt和pypyjs。它们都是非常不同的,如果你问我,任何比较都是没有意义的。</p>
<p>这取决于你在寻找什么,哪个才是最有意义的。</p>
<h2>皮皮耶斯</h2>
<p>pypyjs是个巨大的文件,它是一个12MB的javascript文件,包含了整个pypy虚拟机。因此,如果您想要python实现的完整性,这是您的宝贝。它有一个非常好的javascript桥,但是它不是用python编写javascript网站代码的可行选项。但是它会让你<code>import compiler</code>。</p>
<p>它是用emscripten构建的,在运行pystone基准测试时比CPython快。</p>
<p>我简短地谈了一下pypyjs<a href="http://albertjan.github.io/pypyjs-presentation" rel="noreferrer">here</a>是幻灯片。</p>
<h2>臭鼬</h2>
<p>是一个教学工具(或者随着时间的推移,它已经发展成这样),它将您的python编译成一个非常接近cpython编译器的状态机。它的核心是用javascript编写的python编译器的手写实现。它允许异步执行,允许您执行以下操作:</p>
<pre><code>while (True):
print "hi"
</code></pre>
<p>没有锁定浏览器。</p>
<p>Skulpt是唯一一个支持异步延续的,它允许您暂停python的执行,同时它正在解决一些异步事件。使这工作:</p>
<pre><code>from time import sleep
sleep(1)
</code></pre>
<p>斯库尔特跑的速度大约是皮斯通的十分之一。</p>
<h2>布莱森</h2>
<p>我对这件事知道得最少,也许“奥列米斯朗”可以把这件事扩大。但除了布莱森是py3和其他py2的明显区别之外。布莱森也是一个运钞机。</p>
<p>Brython没有运行pystone基准测试,因为没有实现time.clock,因为它是一个正式的硬件功能。</p>