跳转到内容
彼岸论坛
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

已推荐帖子

发表于

介绍

这个库使用 nix 包管理系统管理各种语言的开发环境,它同时集成了一些基础的性能测试代码。这样做的一个优点是,你可以把这个库 clone 下来在自己的机器上做测试,而不必担心扰乱原有的环境。

目前库里面有两种语言四种环境:

  1. javascript/bun
  2. javascript/nodejs
  3. javascript/quickjs
  4. scheme/chezscheme

目前的 benchmark 主要集中于基础的向量操作、字符串操作、递归操作,考察的主要是各种语言环境的优化能力和优化结果。

在 v 站发帖,主要是希望有朋友能来帮忙做如下工作:

  1. 贡献 Go 语言的相关 benchmark ,而且一定要和已有的代码对标,就是原来的代码是什么风格,那么你 go 应当用同样的风格去写代码。原来是用递归实现的,你不能强行拆成用循环实现;
  2. 贡献各种国产编程语言的 benchmark ,要求同 go 。不过很多国产编程语言在 nix 包管理器里面没有打包,大概需要先通过 flake.nix 实现一个自己的打包。

补充

这个项目的不足在于 3 点:

  1. 其实 benchmark 主要用递归实现,可能对于一些语言的优化不友好。但是这里主要考虑的是 benchmark 的可比性,因为递归是标配。你用这个语言的高级特性,我用那个语言的高级特性,那就没法好好对比了。
  2. 目前测试使用的是 linux 一般标配的 time 命令(注意,不是 bash 的内置关键字)。这实际上测试的时候,就不可避免受到语言环境的启动时间影响——我们测的其实是各种环境跑脚本的性能,只不过有些脚本跑的时间长,启动时间可以忽略。这对于 Java 之类的语言可能不友好,而对于 C 之类的语言似乎又有优势。
  3. 目前测试没有加入 C 和 rust 之类的语言,因为它们一般性的需要编译一个可执行文件,这里面的时间消耗的组配和已有编程语言不可比。

创建帐户或登录来提出意见

您需要成为会员才能提出意见

创建帐户

注册成为会员.只要几个简单步骤!

注册帐户

登录

已经有帐户? 请在此处登录.

现在登录
  • 游客注册

    游客注册

  • 会员

    没有会员可显示

  • 最新的状态更新

    没有最新的状态更新
  • 最近查看

    • 没有会员查看此页面.
×
×
  • 创建新的...