Google 运行数百万行Python代码用于驱动youtube.com和YouTube API的前端服务器,每秒可以提供数百万的请求! YouTube的前端运行在CPython 2.7上,所以我们投入了大量的工作来改进运行时,并使我们的应用程序能很好地在其中工作。这些努力多年来取得了很多成果,但有一个问题一直得不到解决:高并发、高负载的工作很难在CPython上很好地运行。
为了解决这个问题,我们查看了许多其他Python运行时。每个都有权衡,没有解决并发问题,也没有引入其他问题。
于是我们有了一个疯狂的想法:如果我们实现一个替代运行时优化的实时服务呢?Go似乎是一个明智的平台选择,因为它的操作特性与我们的用例(例如轻量级线程)能很好地匹配。我们想要一流的语言互操作性,Go的强大的运行时类型反射系统能让这一点变得十分简单,Python在Go上会很自然,所以Grumpy诞生了。

Grumpy 是一个 Python to Go 源代码编译器和运行时,旨在替代 CPython 2.7。
关键的区别是它将 Python 源代码编译为 Go 源代码,然后将其编译为本机代码,而不是字节码。这意味着 Grumpy没有 VM。编译的 Go 源代码是对 Grumpy 运行时的一系列调用,Go 库服务与 Python C API 类似的目的(尽管不直接支持 C API)。
部分内容编译自:opensource.googleblog.com
作者:Dylan Trotter,YouTube工程
a.py
def hello():
print "hello world"
b.py
from a import hello
hello()
这样在编译b.py时就会出错,说找不到hello这个函数,这是怎么回事?
目测,py这是要继续分裂的节奏。
引用来自“平原君”的评论
这是可以用python来写go了,可以摒弃go那特别的语法了?引用来自“heimeil”的评论
Google出这个项目的目的就是想把现有的Python项目给快速转移到Go,想着Python语法来生成Go还不如直接用CPython,除非是想用Go的跨平台编译成二进制的特性。引用来自“平原君”的评论
这是可以用python来写go了,可以摒弃go那特别的语法了?引用来自“heimeil”的评论
Google出这个项目的目的就是想把现有的Python项目给快速转移到Go,想着Python语法来生成Go还不如直接用CPython,除非是想用Go的跨平台编译成二进制的特性。引用来自“平原君”的评论
这是可以用python来写go了,可以摒弃go那特别的语法了?