V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
GalAster

BrainFuck 编码器

  •  
  •   GalAster · Nov 9, 2020 · 2214 views
    This topic created in 1995 days ago, the information mentioned may be changed or developed.

    BF 作为一门图灵完备的语言, 当然能胜任任意任务啦. 那么问题来了, 怎么输出 "你好, 世界!"?

    BrainFuck 编码器来帮你! 给定任意 string target, 搜索其 brainfuck input.

    这个算法给出的编码应该是相对最短的, 有时候你会发现多一个字符结果就完全不一样了, readme 里有几个其他算法的链接, 可以对比一下看, 短差不多一半.

    因为搜索空间较大, 于是速度很慢, 要 50ms-80ms 才能完成所有分支的搜索, 所以不能瞬时响应键盘输入.

    其实本来 native 已经优化进了 10ms 了, 但是 wasm 速度只有 native 的 1/3 不到, 我在考虑是不是要给 web 版来一点激进的剪枝加速.

    在线演示里附赠了一个不带 JIT 的 BF 解释器, 如果你觉得太慢的话可以用其他更强的实现比如copy.sh/brainfuck

    2 replies    2020-11-09 17:43:29 +08:00
    freepoix
        1
    freepoix  
       Nov 9, 2020
    战略马克
    lambdafate
        2
    lambdafate  
       Nov 9, 2020
    emmm, 不明所以
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5696 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 71ms · UTC 07:45 · PVG 15:45 · LAX 00:45 · JFK 03:45
    ♥ Do have faith in what you're doing.