热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Google工程师寻求将Python性能提高5倍

Google的Python工程师启动了一个叫做UnladenSwallow的项目,寻求提升Python编程语言的性能,项目的目标之一是用基于LLVM的J

Google 的 Python 工程师启动了一个叫做 Unladen Swallow 的项目,寻求提升 Python 编程语言的性能,项目的目标之一是用基于 LLVM 的 JIT 环境取代 Python 的虚拟机,最终将 Python 的性能提升5倍。该项目是 CPython 运行时的一个分支,并将同 Python 的主干兼容。

Unladen Swallow 项目的的目标是使用 LLVM (Low Level Virtual Machine)编译架构建立一个即时编译引擎,取代 Python 自己的虚拟机。这一方法优势明显,就像开发者们在项目计划中描述的那样,该项目使 Python 到 register-based 的虚拟机成为可能,并为将来的优化工作铲平道路。

采用 LLVM 还为更多在 Python 代码中集成其它语言敞开了大门,因为 LLVM 中间层是对语言无关的。

Unladen Swallow 项目还将带来运行时的其它改进,并更好地应用现代硬件的优势。多核处理器的并行处理引起很多开发者的关注,比如他们正考虑实现一个并行的回收器。他们还将改善 Python 的多线程功能以解决 Global Interpreter Lock 死锁问题。

虽然该项目刚刚启动,一个实验性的原型已经建立,源代码可以从 Google Code 站点的版本控制系统下载。当前的一些设计据说已经可以在某些场合提升性能。

他们的第二个里程碑,预计在2009年第二季度展开,这个阶段将有望实现等效的 LLVM 对 Python 虚拟机的替换。

Unladen Swallow 的开发者们希望最终可以在一些对性能要求严格的应用中,用 Python 语言取代 C 语言。他们在 Python 2.6 的基础上展开工作,这样可以兼容目前大量的已有 Python 项目,他们还会对 Python 3 提供平滑过度。

Python 在企业环境应用广泛,也是 Google 内部架构以及 App Engine 的主要技术。Google 对 Python 的投资将使这门语言在快速 Web 程序开发中更具魅力。

本文国际来源:http://arstechnica.com/open-source/news/2009/03/google-launches-project-to-boost-python-performance-by-5x.ars
中文翻译来源:COMSHARP CMS 官方网站

 


推荐阅读
  • Python错误重试让多少开发者头疼?高效解决方案出炉
    ### 优化后的摘要在处理 Python 开发中的错误重试问题时,许多开发者常常感到困扰。为了应对这一挑战,`tenacity` 库提供了一种高效的解决方案。首先,通过 `pip install tenacity` 安装该库。使用时,可以通过简单的规则配置重试策略。例如,可以设置多个重试条件,使用 `|`(或)和 `&`(与)操作符组合不同的参数,从而实现灵活的错误重试机制。此外,`tenacity` 还支持自定义等待时间、重试次数和异常处理,为开发者提供了强大的工具来提高代码的健壮性和可靠性。 ... [详细]
  • 本文将带你快速了解 SpringMVC 框架的基本使用方法,通过实现一个简单的 Controller 并在浏览器中访问,展示 SpringMVC 的强大与简便。 ... [详细]
  • 在处理大规模并发请求时,传统的多线程或多进程模型往往无法有效解决性能瓶颈问题。尽管它们在处理小规模任务时能提升效率,但在高并发场景下,系统资源的过度消耗和上下文切换的开销会显著降低整体性能。相比之下,Python 的 `asyncio` 模块通过协程提供了一种轻量级且高效的并发解决方案。本文将深入解析 `asyncio` 模块的原理及其在实际应用中的优化技巧,帮助开发者更好地利用协程技术提升程序性能。 ... [详细]
  • 本文介绍了Spring 2.0引入的TaskExecutor接口及其多种实现,包括同步和异步执行任务的方式。文章详细解释了如何在Spring应用中配置和使用这些线程池实现,以提高应用的性能和可管理性。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 探讨异步 Rust 中多线程代码无法实现并行化的原因及解决方案。 ... [详细]
  • 应用链时代,详解 Avalanche 与 Cosmos 的差异 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • Python多线程编程技巧与实战应用详解 ... [详细]
  • 在Python 2.7环境中使用PyCharm进行Cvxopt的安装及线性规划问题求解。具体步骤包括:通过PyCharm的文件菜单进入项目设置,选择解释器选项,点击右侧的“+”按钮,在可用包列表中搜索并安装Cvxopt。安装完成后,可以通过导入Cvxopt库并调用其函数来解决线性规划问题,提高模型的准确性和效率。 ... [详细]
  • 2022年Python面试题一.Python基础二.企业面试题结束语🥇🥇🥇✅作者简介:大家好我是编程IDὌ ... [详细]
  • 机器学习算法:SVM(支持向量机)
    SVM算法(SupportVectorMachine,支持向量机)的核心思想有2点:1、如果数据线性可分,那么基于最大间隔的方式来确定超平面,以确保全局最优, ... [详细]
  • Java高并发与多线程(二):线程的实现方式详解
    本文将深入探讨Java中线程的三种主要实现方式,包括继承Thread类、实现Runnable接口和实现Callable接口,并分析它们之间的异同及其应用场景。 ... [详细]
  • 本文介绍了如何使用Python的Paramiko库批量更新多台服务器的登录密码。通过示例代码展示了具体实现方法,确保了操作的高效性和安全性。Paramiko库提供了强大的SSH2协议支持,使得远程服务器管理变得更加便捷。此外,文章还详细说明了代码的各个部分,帮助读者更好地理解和应用这一技术。 ... [详细]
author-avatar
我爱伟华
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有