当前位置: 首页 > 软件库 > 开发工具 > 编译器 >

Cannoli

Rust 编写的 Python 编译器
授权协议 GPLv2
开发语言 Python Rust
所属分类 开发工具、 编译器
软件类型 开源软件
地区 不详
投 递 者 冯嘉珍
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Cannoli 是一个 Rust 编写的 Python(Python 3.6.5) 编译器,旨在评估对性能有负面影响的 Python 语言特性。

Cannoli 使用 Rust 编写,并将 Python 编译为 Rust,选择 Rust 作为中间表示(intermediate representation)是为了提高性能,避免编写垃圾收集器。

优化

Cannoli 支持两种主要的优化,这是由于对语言应用限制的结果。Python 功能的限制是提供删除或注入范围元素的能力,以及在运行时改变对象和类的结构的能力。相应的功能分支是 scope-opts 和 class-opts。

 相关资料
  • 我使用android Studio制作了一个静态编程语言MultiPlatform Mobile项目,导入SQLDelight后遇到以下错误: 我回答了这个问题,但他们提到的一切我都做对了。在一个文件一个文件地查看之后,我没有找到我在哪里声明了那个版本,于是我决定将我的项目与其中一个示例项目进行比较。 再次查看这些文件后,我发现我在我的应用程序等级中使用了SQLDelightVersion1.5.

  • 我使用maven命令来清理、构建整个项目、创建war并部署到服务器。我不能使用Intellij来做这件事,因为我只有社区版。它在与intellij相同的目录中构建项目。 为了加快速度,我编写了一个脚本,可以在本地“target”目录中找到比服务器中更新的已编译文件,并进行复制。虽然一切正常,但问题是Intellij并没有将使用maven编译的类视为应该跳过并重新构建整个项目的类。 目前它的工作原理

  • 问题内容: 如何在Python中进行条件编译? 使用DEF吗? 问题答案: Python的编译方式与C,C ++甚至Java都不一样,Python文件是“即时”编译的,您可以认为它类似于诸如Basic或Perl的解释语言。1个 您可以仅通过使用if语句来执行与条件编译等效的操作。例如: 您可以对创建类,变量设置以及几乎所有内容执行相同的操作。 模拟IFDEF的最接近方法是使用hasattr函数。例

  • 我用的是jdk 6。 我有一个界面: 我有一个名为Widget的抽象类,它实现了DisplayValueListener,并声明如下: 我还有另一个像这样扩展Widget的抽象类: 这是我从NetBeans中的编译器得到的信息: 名称冲突: setDisplayValue(Void, String)在相机Widget覆盖一个方法,其擦除与另一个方法相同,但都不覆盖另一个第一个方法:setDispl

  • 问题内容: 我想在Python中实现一个服务器,该服务器通过HTTP流化MP3格式的音乐。我希望它播放音乐,以便客户端可以连接到流并开始收听当前正在播放的内容,就像广播电台一样。 以前,我已经使用SocketServer.TCPServer在Python中实现了自己的HTTP服务器(是的,我知道BaseHTTPServer存在,只是想自己编写一个微型HTTP堆栈),那么音乐流媒体在架构上会有什么不

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow的主题。 6年前关闭。 改善这个问题 我已经上下搜索,但是找不到适用于Python 2.7 .pyc的反编译器。有人知道适用于Python 2.7的吗?谢谢 问题答案: 更新(2019-04-22)-听起来您现在想使用uncompyle6,而不是我最初提到的答案。 听

  • 问题内容: 我正在尝试在Win32 python2.7上使用Scapy 我已经设法编译了所有其他依赖项 可以帮助达到此可执行文件的目标吗?“ dnet-1.12.win32-py2.7.exe” (我保证也会更新这个问题和船长手册, 在Windows上使用Python 2.7运行Scapy ) 更新: 我已经设法使用mingw32编译了它,而我正在使用vs2005,并且我必须对libdnet进行一