今天,我的一个好朋友问我最新的Go语言和Cython之间的主要区别是什么(Cython是Python的一组C扩展)。我对Python的了解不多,有人可以告诉我为什么Go比Cython更好/更差吗?
3 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
Cython并不是传统意义上的语言。它是构建Python扩展程序的预处理器,该扩展程序采用类似Python的语法(实际上,他们力求完全兼容Python)并生成C代码(使用Python C API)。这样做可以包括一些特殊情况的优化,但是真正的好处是,当您添加Cython特定的静态类型信息时,该信息将合并到C代码中,从而绕开了这些操作的Python运行时并提高了速度。
Go是一种编译的编程语言。Go可以做的第一件事是生成一个不包含Python运行时的可执行文件/启动Python解释器-这在Cython中是不可能的。(在技术上可能并非不可能-但是,如果您不使用Python,则实际上没有必要使用Cython)。由于Cython仅产生C语言,因此注释中的大多数问题实际上并不适用-您可以使用任何C调试器(尽管Python扩展这一事实使事情变得更加复杂)。
- 3 回答
- 0 关注
- 265 浏览
添加回答
举报
0/150
提交
取消