python 本身很难。但是可以弄出新的编程语言,专用于提速 python. 类似于 cython
我说说我的想法,看看你们资深用 python 的觉得有没有意义:
我正在弄一个 python 语法的静态编译语言。披着 python 语法是什么意思呢,就是这门语言的源代码直接可以在 python 解释器里面运行,完全符合 python 的语言规范。不过反过来就不行了,python 的代码不一定在这个新的语言里面运行。
这思路跟 cython 差不多。但 cython 语法是 python 语法的超集。学起来很难。而我打算弄的新语言,语法是 python 的子集。
def add(x: int, y: int) -> int:
return x + y
用 cython 编译,以上会编译成两个 PyLong 的相加,调用 PyLong 的 __add__ 方法,但是在新语言里面,完全可以直接编译成两个 int64_t 的相加。
需要支持容器:
def sum(l: list[int]) -> int:
r = 0
for i in l:
r += i
return r
对象采用引用计数管理,没有 gc
def update(d: dict[str, int]):
d["key"] = 2
碰到类型不定的情况:
def add(x, y):
return x + y
此时的编译结果和 cython 一样,调用 PyObject x 的 __add__() 方法。
这个语言还可以脱离 python 独立,变成一个类似于 go 那样的语言。
这种语言你觉得有意义吗?
【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: 很难。
: 希望不大,不过其实现在意义也不大了。
--
修改:hgoldfish FROM 110.85.22.*
FROM 110.85.22.*