仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 469|回复: 9
打印 上一主题 下一主题

[其他Linux] Linux设计Pyston:Dropbox 正开辟的开源 Python 注释器仓酷云

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:19:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
要多动手,不要怕什么搞坏了怎么办,你不搞坏,不去动手,就永远不会有收获,既然你在linux中是自由的,那就发挥自己的权利;
人人好,我十分冲动公布Pyston,这是一个正在由Dropbox开辟的开源Python注释器。这个项目标方针是发生一个高功能的Python注释器,使Python也能用于那些被如C++如许的传统体系言语占有的范畴。
在Dropbox,我们酷爱Python,实验用它来做统统能够做的事变。但是跟着范围的的变年夜和要处置的成绩愈来愈多,我们入手下手发明持续利用Python而要到达我们的功能方针偶然候极为坚苦。偶然用别的一门言语重写也起不了多高文用。我自己十分喜好Python,每次当我们决意重写甚么工具的时分我都很受伤,以是我想为它做一点甚么。在静态编译上做了一些无勤奋后,我们各处查材料然后发明JIT手艺在Javascript上十分乐成,特别是Chrome的V8引擎年夜年夜地改良了Javascript的功能。我们但愿经由过程一样的手艺也能在Python上到达不异的功能提拔。
Pyston如今仍旧处于早期阶段,还不克不及投进利用。但我们但愿早点在它的性命周期之初就发布并开源出来,如许我们就可以和Python和JIT社区来互助开辟了。太多的细节在这篇博客写不下,但我们想说一下我们为何必要一个新的Python完成,和讲一点点Pyston是怎样事情的。
为何选择完成一个新的Python注释器

早就已有了一年夜堆利用JIT手艺的Python完成:PyPy利用它的tracingJIT来进步功能;Jython和IronPython都是构建在普遍撑持JIT的假造机上的。以是为何我们以为还值得入手下手制造一个新的完成呢?
复杂来讲,是由于我们以为尽年夜多半有远景的手艺都和现有的完成不兼容。好比,在Javascript界就由于壮大的功能上风从tracingJIT切换到method-at-a-timeJIT。对Python是不是有一样的功能上风另有待商讨,但因为这两种路子从基本上都是和现有的完成不兼容的,以是谜底只能是构建一个新的method-at-a-timeJIT。
别的一个区分是我们对传统的渣滓接纳器有企图地利用来高效地撑持拓展模块。一样,我们如今也没法晓得这是不是是一种更好的办法,但这个决意对一个很难在现有的完成下举行测试的JIT来讲是必不成少的。
从零入手下手的害处就是,制造一个新的言语的完成无庸置疑是一个伟大的义务。侥幸的是,有助于这个历程的一些工具已入手下手呈现了。特别是Pyston是构建在LLVM之上的,使得我们不必要本人处置细节就能够天生下层的高质量代码。只管云云,一个新的Python完成仍是一个伟大的工程,以是Pyson将不会即刻就可以投进利用。
它是怎样事情的

从顶层看,Pyston将剖析好的Python代码转换成LLVM两头代码。然后两头代码就经由过程LLVM的优化然后传送给LLVM的JIT引擎,发生可实行的呆板代码。LLVM包括很多优化步骤和机制,使得它能发生十分快的代码。
但是成绩是LLVM不克不及推出Python代码,由于静态言语不能不把一切底层的举动都埋没在范例分拨(TypeDispatch)后。为懂得决这个成绩,Pyston接纳范例揣度:固然证实一个变量将会是某个出格的范例一般是不成能,可是Pyston常常能够依据一些断定的现实来展望某个对象会是甚么范例。一旦做出了一个展望,Pyston将在运转时检测这个展望,在展望所对应的疾速分支和展望失利所对应的慢速分支之间举行选择。
Pyston还包括很多其他的古代手艺,好比为疾速查找属性和疾速挪用办法而计划的埋没类和内联缓存。你能够在Github页面上找到更多的手艺细节,和一篇独自报告这些手艺细节的博文。

常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基的。
老尸 该用户已被删除
沙发
发表于 2015-1-20 07:13:17 | 只看该作者
一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢。
若相依 该用户已被删除
板凳
发表于 2015-1-28 23:17:06 | 只看该作者
上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.
山那边是海 该用户已被删除
地板
发表于 2015-2-6 07:56:39 | 只看该作者
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
只想知道 该用户已被删除
5#
发表于 2015-2-15 18:07:00 | 只看该作者
通过自学老师给的资料和向同学请教,掌握了一些基本的操作,比如挂载优盘,编译程序,在Linux环境下运行,转换目录等等。学了这些基础才能进行下面的模拟OS程序。?
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-20 18:08:51 | 只看该作者
其中不乏很多IT精英的心血。我们学透以后更可以做成自己的OS!?
变相怪杰 该用户已被删除
7#
发表于 2015-2-23 11:19:26 | 只看该作者
一些显而易见的小错误还是用vi改正比较方便。以后的大一点的程序就得在Linux下调试了,因为有的头文件在VC里面说找不到。?
蒙在股里 该用户已被删除
8#
 楼主| 发表于 2015-3-7 08:27:14 | 只看该作者
首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。
金色的骷髅 该用户已被删除
9#
发表于 2015-3-14 15:23:46 | 只看该作者
一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。
10#
发表于 2015-3-21 11:14:25 | 只看该作者
老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-21 15:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表