[XSErrorException] ../../../usr/local/xunsearch/sdk/php/lib/XS.php(2558): fsockopen(): unable to connect to localhost:8384 (Connection refused)(2)
Notice: Undefined variable: docs in /home/www/news049/application/libraries/Xunsearch.php on line 104
Python解释器重构 - 广易科技网
手机版
首页 >> 热点>> 正文

Python解释器重构

2020-04-02 22:19来源:互联网编辑:小优

一、Python的未来

2019年5月初,Python之父Guido van Rossum在今年的PyCon US大会上作了名为“Python Language”的演讲。

近日,他又接受了IT媒体Infoworld的采访,大谈Python的未来,主要谈论了以下几个问题。

01、关于Python的性能提升

Guido:Python 3的性能已经跟上来了,比2012年时要快的多。

另外,还有像PyPy这样的Python实现。有一些新版本的Python解释器也在试图提升速度。

其实,Python的性能并没有人们说的那样差,而且因为Python大部分是用C语言实现的,很多事情做起来可以和C语言一样快。

我还是认为,Python对于大部分事情来说已经足够快了。

尽管没有往Python 3中新增特性以改善速度,但是我们已经让语言的很多方面变快了。

比如,引用计数比以前快了些。主要还是优化现有的代码,但是作为用户来说,很难注意到区别。

而且如果你急需提升某个Python程序的速度,可以尝试使用PyPy。

它已经足够成熟,值得尝试。

02、Python为什么受欢迎?

Guido:主要是学习方便,使用方便,而且社区开放、乐于助人。

03、Python的工作

Guido:目前,以及过去五年多时间里,主要是其他人在推动Python的发展。

我偶尔进行一些指导,判断某个新想法是否值得接受,通常是设计是否要添加新语法时。在标准库方面,我很少干预。

有时候,我也不得不让大家停止讨论,各自妥协。

04、Python在移动计算领域的应用

Guido:移动对Python来说仍是一个很难啃下来的平台,但是并没有浏览器平台的难度大,因为Python实际上是可以运行在所有品牌智能手机上的。

你只需要找到懂得怎样构建移动版本Python的人就行了。

标准的CPython源代码几乎可以编译成能在安卓和苹果手机上运行的二进制文件。有很多人在朝这方面努力,不断贡献着补丁包。

不过进展的速度比我希望的要慢一些。不过话又说回来,我本人并不移动应用,所以我没有太多自己参与的动力。但是我很乐于见到这方面的进展。

二、Python解释器重构

在本月的22日,Python之父Guido在Medium上发表了他的第一篇博文《PEG Parser》

在该文中,Guido说他正在考虑使用PEG Parser代替现有的类LL(1) Parser(名为pgen)来重构Python解释器。

原因是现在的 pgen 限制了Python语法的自由度,使得一些语法难以实现,也让当前的语法树不够整洁,一定程度上影响了语法树的表意,不能最好地体现设计者的意图。

那PEG Parser和现有的LL(1) Parser有什么区别呢?

可以这样简单地理解,PEG 语法解释器在解析语法的时候,会一次性加载全部代码,所以解释器可以根据任意位置的符号来判断语法的语义。

而目前的 LL(1) Parse 解析语法的时候只会向前检测一个符号,来猜测语义,导致部分语法有二义性的表现,进而限制了Python语言的语法定义方式。

当然,一次性加载全部代码,也意味着PEG Parser需要更大的内存来运行。

说当前解释器限制了Python的语法实现,很多同学可能没有明显的感受。

所以Guido又举了一个例子:

在Python3.8之前,下面这段代码都是可以正常运行的,而不像大家直观感受的调用函数时应该报错。

Python解释器重构(图1)

这就是Python解释器处理不了带来的后遗症。

这也导致Python团队不得不在代码里增加一些不受欢迎的“特例”来处理这些边缘情况。

Guido说,Python刚出现的时候,内存还很贵,使用LL(1) Parser是非常合理的。

不过在现在这个内存以G为单位的时代,解释器多增加几百k甚至上兆的内存消耗,已经根本不算什么了。

所以是时候使用更理想的 PEG Parser 来重构Python解释器了。

最后,也是大家最关心的问题。

这个重构会对Python语言的者造成什么影响呢?

Guido表示:底层重构不会影响Python的语法。

本文相关词条概念解析:

解释器

解释器(英语:Interpreter),又译为直译器,是一种电脑程序,能够把高级编程语言一行一行直接转译运行。解释器不会一次把整个程序转译出来,只像一位“中间人”,每次运行程序时都要先转成另一种语言再作运行,因此解释器的程序运行速度比较缓慢。它每转译一行程序叙述就立刻运行,然后再转译下一行,再运行,如此不停地进行下去。

网友评论Translation

推荐文章

中概股将如何回归,哪些科技中概股符合
中概股将如何回归,哪些科技中概股符合
受瑞幸咖啡事件和中美关系紧张影响,中概股在美发展前景更加充满不确定性。近期,百度、携程等多家中概股准备赴港上市的传言不断,而、京东将在 6 月份登陆港股的已经敲定,中概股或许将在不远的未来掀起一波回归
查看详情>>
iPadmini5的运行内存是3GB,小编的舍友想买一台iPad
iPadmini5的运行内存是3GB,小编的舍友想买一台iPad
最近,小编的舍友想买一台iPad,预算2000左右。小编推荐他购买iPadmini5,因为小编去年618是以2199入手的。可他查了各大电商的价格,最便宜的还要2299。为什么时隔一年的iPadmin
查看详情>>
5G行业应用成熟度TOP4,社区四大行业应用将率先起飞,作为新基建之首
5G行业应用成熟度TOP4,社区四大行业应用将率先起飞,作为新基建之首
大家可能已经注意到,5G全球商用已有1年多时间,在中国也超过半年时间了,但是大家似乎并没有切身感受到5G带来的变化,甚至连5G手机都看不到几款。5G真的会引爆行业应用和机遇吗?新一轮数字基建驱动下,5
查看详情>>
京东骑行联合小牛,预售一星期销量破万台
京东骑行联合小牛,预售一星期销量破万台
今年京东618全球年中购物节早在5月25日618启动发布会上就有透露,今年京东618将售出2亿件新品,至少助力150个品牌破亿。京东618历来都是绝佳的新品秀场,6月1日,全球领先的智能城市出行解决方
查看详情>>
李震宇表示,他还透露了Apollo在自动驾驶
李震宇表示,他还透露了Apollo在自动驾驶
PingWest品玩6月3日讯,百度集团副、智能驾驶事业群组总经理李震宇今日在Apollo媒体沟通会上表示,车路协同是中国特色自动驾驶的重要路径,2020年开始,中国自动驾驶进入国际领导者时代。此外,
查看详情>>
全力狙击特斯拉,迪斯希望进一步加强在电动车领域的实力
全力狙击特斯拉,迪斯希望进一步加强在电动车领域的实力
外汇天眼APP讯 : 向电动化转型,是赫伯特·迪斯(Herbert Diess)执掌大众集团最重要的任务。接任CEO第一年,迪斯便在大众德国总部“狼堡”向众人强调战略目标—“使大众成为电动交通的No.
查看详情>>
750亿美元不翼而飞,硅谷7大巨头联名上书白宫,如果此时再丧失华为这一客户
750亿美元不翼而飞,硅谷7大巨头联名上书白宫,如果此时再丧失华为这一客户
据卫星通讯社6月1日援引新加坡《亚洲时报》的报道称,对美国制造商向华为公司供应半导体芯片的限制将打击美国公司的利益,并剥夺其在该领域的领导地位。另据此前报道,美国工业和(BIS)在5月15日宣布了计划
查看详情>>
大众26亿美元砸向“凉凉的”自动驾驶赛道
大众26亿美元砸向“凉凉的”自动驾驶赛道
题图|Argo AI官网总部位于美国匹兹堡的自动驾驶初创公司Argo AI(简称Argo)于6月2日宣布,大众集团已完成对其26亿美元的投资,Argo正式成为跨国企业,由大众和福特共同控股,在美国及欧
查看详情>>
7999元,既然是智能蒸箱集成灶,对开放式厨房而言
7999元,既然是智能蒸箱集成灶,对开放式厨房而言
6月3日讯,近段时间,小米有品众筹上架了北斗星C2物联网蒸箱集成灶。该产品号称厨房家电六合一,集成煤气灶、消毒柜、蒸烤箱、抽油烟机、置物柜以及换气的功能,将传统厨房家电有机结合。正如同比尔盖茨所说,“
查看详情>>
小店也不应该还是传统小店
小店也不应该还是传统小店
一夜之间,地摊火遍大江南北。会议同时要求推进线上线下深度融合,鼓励实体零售加快数字化转型,建立起多元化、立体式的营销模式,促进消费新业态、新模式、新场景普及应用,为小店经济打开新的发展空间。作为零售行
查看详情>>
广易科技网(www.gooyi.net)| 手机版