Grumpy: Go 上运行 Python!

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)。

文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-10-27 02:13:11

Grumpy: Go 上运行 Python!的相关文章

在powershell上运行python 键盘失灵了怎么回事?本人小白一枚,求大大们帮帮忙。

问题描述 在powershell上运行python 键盘失灵了怎么回事?本人小白一枚,求大大们帮帮忙. PS C:Usersca> python python : Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32 所在位置 行:1 字符: 1 python ~~~~~~ CategoryInfo : NotSpecified: (Python 2.7.11

用jep在java上运行python报错

问题描述 用jep在java上运行python报错 显示错误 ImportError: No module named site 代码是这样的 String SCRIPT_PATH = "D:\codes\Python\StockDataAnalysis\MatGraph.py"; try { Jep jep = new Jep(); jep.runScript(SCRIPT_PATH); } catch (Exception ex) { ex.printStackTrace(); }

呵呵!手把手带你在 IIS 上运行 Python(转)

原文:http://blog.csdn.net/yangzhencheng_001/article/details/40342449 公司的网站让我头痛死了.在众多前辈高手的带领下,一大堆的 CMD 在网站里运行得好好地,黑客攻击也好好地,只有网站和我不好好地,我快累死了,网站快挂了...   为了解决这个问题,我想到了 Python 来解决.可是网站上如何运行 Python.我在网上找了很多资料.结果,互相抄来抄去的,问题层出不穷--各种问题都在我眼前显现.在我不断地瞎折腾,经理在边上不断地看

《易学Python》——1.3 在Windows系统上安装Python

1.3 在Windows系统上安装Python 在接下来的三小节中,我将引导您循序渐进地安装Python,创建一个简单程序以核实Python在系统上运行正常,并介绍运行程序的基本步骤.现在核实Python运行正常可避免您以后气馁. 1.3.1 安装Python 我们将使用Python 2版本,这是因为本书使用的大多数库都不支持Python 3.在本书编写期间,标准版是Python 2.7.要安装Python,需要从Python网站下载一个程序并运行它.这个程序包含Python.Python库以及

雅虎财经数据-麻烦各位大神给看下下面这段代码,运行不起来。请帮忙看下是什么原因(是在Python上运行的)

问题描述 麻烦各位大神给看下下面这段代码,运行不起来.请帮忙看下是什么原因(是在Python上运行的) from matplotlib.finance import quotes historical_yahoo from datetime import date import pandas as pd today=date.today() start=(today.year-1,today.month,today.day) quotes=quotes_historical_yahoo('AXP

arm-wince6.0上如何运行python的程序

问题描述 wince6.0上如何运行python的程序 wince6.0的系统,ARM,想在设备上用python编一个读取短信模块的程序,程序已经编好了,就是在设备上安的python找不到对应的serial模块,所以想问问有没有什么方法可以解决,只要最后能在设备上运行程序就好了 解决方案 安装对应的serial包试试

在IIS服务器上以CGI方式运行Python脚本的教程_python

由于接触到Python Web开发,正好把最简单的CGI方式研究了一下,话说在Windows下配置Python的Web开发还真的蛮麻烦的,Linux下配置倒挺容易,正好微软有技术文章<Using Python Scripts with IIS>介绍了这些内容,此文介绍了两种方法,一是使用ASP引擎来运行Python脚本,这个可能需要用到ActivePython,当然ASP技术已经过时了,我今天就简单介绍下CGI模块运行方式. 编写简单的支持CGI的Python脚本(本文介绍3.2版本的Pyth

10 个平板电脑上的 Python 编辑器

本文介绍 10 个可在 iOS 或 Android 平板电脑上的 Python 编程环境.Python 开发者可通过这些工具实现随时随地编码,蛋疼抑或爽极? Pythonista Python 声称将实现 "在你的iPad或iPhone实现Python的禅" ,不到比萨的价格你就可以购买的 Pythonista 并开始编码. 这对新手也很有用,如果你不是一个 Python 开发者,但想学习这门脚本语言,Pythonista 是你可以负担得起的方式. 特性: 全功能的代码编辑器,包含内建

与Java虚拟机对干?无需操作系统直接运行Python代码

  Josh Triplett以一个"笑点"开始了他在PyCon 2015上的演讲:移植Python使其无需操作系统运行:他和他的英特尔同事让解释器能够在GRUB引导程序.BIOS或EFI系统上运行.连演讲的休息时间也没放过,他有很多有趣的要说的事情,还有许多让人大开眼界的演示. Python在Boot Loader上运行的最初想法是能够测试硬件,像BIOS,可扩展固件接口(EFI)以及高级配置和电源接口(ACPI),而无需去写一些"一次性测试项目"程序集.传统来说