V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
coyove
V2EX  ›  Go 编程语言

potatolang 基于 go 的脚本语言

  •  
  •   coyove ·
    coyove · 2018-07-15 13:46:31 +08:00 · 1843 次点击
    这是一个创建于 2083 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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

    2 条回复    2018-07-16 10:08:20 +08:00
    roy2220
        1
    roy2220  
       2018-07-15 18:03:27 +08:00 via Android
    不错,我也撸过自己的玩具脚本语言: github.com/roy2220/oyc
    KeepPro
        2
    KeepPro  
       2018-07-16 10:08:20 +08:00
    大佬都好强啊。我的还在写的路上,一边看资料,一边写的那种。
    另外推荐我在看的《游戏脚本高级编程》,非常不错的一本书。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3223 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:01 · PVG 20:01 · LAX 05:01 · JFK 08:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.