小天管理 发表于 10月5日 发表于 10月5日 介绍 这个库使用 nix 包管理系统管理各种语言的开发环境,它同时集成了一些基础的性能测试代码。这样做的一个优点是,你可以把这个库 clone 下来在自己的机器上做测试,而不必担心扰乱原有的环境。 目前库里面有两种语言四种环境: javascript/bun javascript/nodejs javascript/quickjs scheme/chezscheme 目前的 benchmark 主要集中于基础的向量操作、字符串操作、递归操作,考察的主要是各种语言环境的优化能力和优化结果。 在 v 站发帖,主要是希望有朋友能来帮忙做如下工作: 贡献 Go 语言的相关 benchmark ,而且一定要和已有的代码对标,就是原来的代码是什么风格,那么你 go 应当用同样的风格去写代码。原来是用递归实现的,你不能强行拆成用循环实现; 贡献各种国产编程语言的 benchmark ,要求同 go 。不过很多国产编程语言在 nix 包管理器里面没有打包,大概需要先通过 flake.nix 实现一个自己的打包。 补充 这个项目的不足在于 3 点: 其实 benchmark 主要用递归实现,可能对于一些语言的优化不友好。但是这里主要考虑的是 benchmark 的可比性,因为递归是标配。你用这个语言的高级特性,我用那个语言的高级特性,那就没法好好对比了。 目前测试使用的是 linux 一般标配的 time 命令(注意,不是 bash 的内置关键字)。这实际上测试的时候,就不可避免受到语言环境的启动时间影响——我们测的其实是各种环境跑脚本的性能,只不过有些脚本跑的时间长,启动时间可以忽略。这对于 Java 之类的语言可能不友好,而对于 C 之类的语言似乎又有优势。 目前测试没有加入 C 和 rust 之类的语言,因为它们一般性的需要编译一个可执行文件,这里面的时间消耗的组配和已有编程语言不可比。
已推荐帖子
创建帐户或登录来提出意见
您需要成为会员才能提出意见
创建帐户
注册成为会员.只要几个简单步骤!
注册帐户登录
已经有帐户? 请在此处登录.
现在登录