V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
pursuer
V2EX  ›  程序员

脚本语言 需要明确标记协程切出位置,这似乎是一个不理想(妥协?)的设计

  •  
  •   pursuer ·
    partic2 · 14 小时 23 分钟前 · 293 次点击

    需要明确标记协程切出(被广泛称为无栈协程)的设计我觉得用在静态类型语言中,是很合理的,这类语言要求性能,无栈协程更利于性能优化,特别是解决并发问题的时候,并且标记函数的副作用也是符合静态语言的诉求的(但神奇的是用的较多的 Java 和 Go 都是用了有栈模型)

    但脚本语言通常性能瓶颈不在这里,需要编写快速,消除细节,但以几个比较流行的通用脚本语言为例

    python,js 都采用的无栈协程方案

    js 的话我理解因为 js 的设计就是在单线程环境下运行,采用有栈方案的话会影响历史代码的兼容性?

    python 之前多线程就是抢占式的,但是之后还是采用了无栈方案,是因为 c-api 兼容吗

    似乎就 lua 支持了有栈的方案?但 lua 的生态却很比较单薄。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   954 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 20:32 · PVG 04:32 · LAX 13:32 · JFK 16:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.