potatolang 基于 go 的脚本语言

2018-07-15 13:46:31 +08:00
 coyove

https://github.com/coyove/potatolang

自己写了有一段时间的玩具语言,语法是 js/c/go 的混合体,运行时用了一些 hack,所以只能跑在 64 位机器上。

性能不高,比原生 go 慢 100 倍左右( mbp 2017 13' touchbar )。

benchmarksgame

500000 次迭代 nbody,代码来自 Perl #2 和 Lua #2:

5.0s  perl
5.5s  potatolang (array cheat)
8.6s  potatolang
11.7s gopher-lua

深度 16 二叉树遍历,代码来自 Perl #1 和 Lua #2:

2.6s gopher-lua
5.6s potatolang
6.1s perl

550 阶矩阵的最大奇异值(spectral norm),代码来自 Perl #1 和 Lua #1:

2.7s potatolang (opcode cheat)
2.8s potatolang
5.2s perl
5.4s gopher-lua

以上测试均为单线程。

目前没有什么文档,代码入口main_test.go

1861 次点击
所在节点    Go 编程语言
2 条回复
roy2220
2018-07-15 18:03:27 +08:00
不错,我也撸过自己的玩具脚本语言: github.com/roy2220/oyc
KeepPro
2018-07-16 10:08:20 +08:00
大佬都好强啊。我的还在写的路上,一边看资料,一边写的那种。
另外推荐我在看的《游戏脚本高级编程》,非常不错的一本书。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/471037

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX