Peregrine 编程语言 - 一种与 Python 类似但速度与 C 语言一样快的语言。

2025-05-24

Peregrine 编程语言 - 一种与 Python 类似但速度与 C 语言一样快的语言。

嘿,大家好!

我是 Ethan,Peregrine 十位开发者之一。这篇文章将介绍我们最近在 Peregrine 中添加的一些更新。

关于

如果你了解 Python,你就会知道它有多简单。然而,它也带来了很大的性能下降。Python 很慢,我敢肯定每个 Python 开发者现在都知道这一点。这有点烦人。这就是 Peregrine 的用武之地。过去几个月,我和其他 8 位朋友一直在开发 Peregrine。Peregrine 的语法与 Python 非常相似,而且它会被转译成 C 语言,因此速度与 C 语言一样快。下面我编写了两个程序,一个用 Peregrine,一个用 Python。

游隼

def fib(int n) -> int :
    if n <= 0:
        return 1
    return fib(n-1) + fib(n-2)

def main():
    count = 0 # Peregrine has type inference!
    int res = 0

    while count < 40:
        res = fib(count)
        count++
Enter fullscreen mode Exit fullscreen mode

函数返回类型可以省略。

Python

def fib(n):
    if n <= 0:
        return 1
    return fib(n-1) + fib(n-2)

res = 0
for c in range(0, 40):
    res = fib(c)

Enter fullscreen mode Exit fullscreen mode

这两个程序几乎相同,这使得 Python 用户可以轻松切换到它们。现在,您可能会问:“Peregrine 的速度快多少?” 好吧,为了回答您的问题,以下是结果:

游隼:

执行时间:1.06 秒

Python:

执行时间:32.30 秒

可以看出,Peregrine 的速度明显快于 Python。在运行此程序时,它的速度大约是 Python 的 30 倍(无需优化)。

什么是新的?

以下是 Peregrine 的一些最新功能:

类型推断

类型推断是 Pergrine 的最新功能之一。这使得 Peregrine 代码的编写更加简单。

如果/否则/匹配

虽然这看起来像是任何编程语言的标准功能,但添加这些功能确实需要时间,这也是我承认这一点的原因。由于每种编程语言都有此功能,所以没什么好说的。

新功能

让我们进一步讨论一下 Peregrine 目前提供的功能。

代码

Ccode允许在 Peregrine 中运行 C 代码。以下是示例:

def main():
    x = 1
    Ccode x++; Ccode
    print("{x}\n") # prints 2
Enter fullscreen mode Exit fullscreen mode

如您所见,块外声明的任何变量都Ccode可以在块内使用Ccode,反之亦然。这也意味着您可以导入任何 C 库Ccode并在 Peregrine 中使用它。

内联汇编

你也可以在 Peregrine 中使用内联汇编。以下是示例:

def main():
    int arg1 = 45
    int arg2 = 50
    int add = 0
    print("It should add 45 and 50 using asm and print it\n")
    asm("addl %%ebx, %%eax;" : "=a" (add) : "a" (arg1) , "b" (arg2))
    printf("%lld", add)
Enter fullscreen mode Exit fullscreen mode

正如预期的那样,这将打印90

更多的

您可以在Peregrine 测试文件夹中找到更多示例

计划功能

  • 结构体
  • 更多用于不同目的的装饰器
  • Peregrine 中的 Python 生态系统
    • 您将能够在 Peregrine 中使用任何 Python 模块

结论

Peregrine 计划于 3 月份某个时候发布 0.0.1 版本,因此请务必通过加注该repo来表示支持,并确保按下“关注”按钮,这样您就不会错过任何更新。

我们非常感谢您的贡献,所以如果您发现可以改进的地方,请提交拉取请求!您也可以查看我们的未解决的问题

非常感谢您的阅读!

文章来源:https://dev.to/ethanolchik/the-swallow-programming-language-a-python-like-language-that-s-as-fast-as-c-43j7
PREV
将 Expo SDK 与 Next.js 网站结合使用
NEXT
07 作为开发人员您会喜欢的网站。