首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
宝塔
V2EX  ›  问与答

lua jit 性能这么好,为啥使用的人不是很多呢?

  •  
  •   m939594960 · 2017-11-25 16:22:59 +08:00 · 8883 次点击
    这是一个创建于 720 天前的主题,其中的信息可能已经有所发展或是发生改变。

    lua jit 性能这么好,而且语法感觉也还行,为啥用来写 web 应用的人不是很多呢?

    第 1 条附言  ·  2017-11-25 19:09:17 +08:00
    主要的感觉就是这个语言写起来也是很方便的,而且并不是要替代 php python 什么的,主要是感觉这个语言可以替代 golang java 来做 web 对性能有要求的部分
    32 回复  |  直到 2017-11-26 13:14:29 +08:00
        1
    acgnsstech   2017-11-25 16:27:19 +08:00
    php 足够了
        2
    GooMS   2017-11-25 16:27:21 +08:00 via Android
    那不是捡了芝麻丢了瓜吗
        3
    plqws   2017-11-25 16:27:43 +08:00
    会 lua 的不多吧,在游戏领域用的比较多
    包管理啊、第三方库生态都是问题,所以终究只能作为一个 embedded language
        4
    ibegyourpardon   2017-11-25 16:29:52 +08:00   ♥ 1
    C 的性能也很好,但大多数情况下我们身边的人正经用 C 写东西的也没几个。

    为什么呢?

    因为性能永远不是我们写一个 Web 应用的时候优先考虑的事。

    先写出来,还要赶得上飞快的业务变化,之前有的公司一天给你迭代两个版本上线,这时候,只能用更容易写出东西来的东西来实现。

    性能? 东西都没做出来,谈何性能。

    实在嫌线上性能差?那还有一堆别的优化措施,反正还没那么快到考虑语言的时候。
        5
    m939594960   2017-11-25 16:37:03 +08:00
    @ibegyourpardon 主要的感觉就是这个语言写起来也是很方便的,而且并不是要替代 php python 什么的,主要是感觉这个语言可以替代 golang java 来做 web 对性能有要求的部分
        6
    infun   2017-11-25 16:41:00 +08:00
    性能差一点可以堆机器,不能按时结项就要倒霉了
        7
    letitbesqzr   2017-11-25 16:42:10 +08:00
    因为大部分情况并不需要那么高的性能,说 php java python 慢,我就想问国内到底有多少厂的业务瓶颈在于语言上。更需要的是开发效率 可维护性
        8
    kiwi95   2017-11-25 16:43:48 +08:00
    速度再快赶得上业务变更的速度快吗。。。。
        9
    ipwx   2017-11-25 16:44:18 +08:00
    @m939594960 Java 世界的库那么多,Lua 怎么比得上呢?

    Golang 没用过,不知道。
        10
    lzsadam   2017-11-25 16:55:23 +08:00
    合适的工具做合适的事,有些小偷拿个铁丝开自行车锁比用钥匙开还快,但是小偷骑自己车子的时候我想总不会用铁丝开吧。肯定用钥匙嘛。
        11
    cloudyplain   2017-11-25 17:51:08 +08:00
    最近在用 openresty&kong,语法和生态的确比不上 python、php,只能说够用,如果实在不够用,自己 ffi 写一个也挺快的,需要的技术栈可能会很多,对开发者要求比较高。
        12
    askfilm   2017-11-25 17:57:59 +08:00
    性能好并不是最重要的, 开发效率高才是关键
        13
    hjc4869   2017-11-25 18:01:40 +08:00 via iPhone
    lua 跟 js 在语言上基本等价,库生态又不如 js,luajit 也没 V8 快,为什么不用 nodejs ?
        14
    tomczhen   2017-11-25 18:08:55 +08:00
    openresty 性能确实高,不过开发体验不太好,当然可能是我姿势不对。

    其实这个问题很好解释,既然没有银弹,那么总有一些问题需要专门的工具来解决,这时候这些“小众”语言或者方案就有必要了。
        15
    m939594960   2017-11-25 19:08:38 +08:00
    @hjc4869 我查的文章 luajit 是比 v8 快的,因为 lua 的语法么那么多特性,jit 实现起来比较好。当然没实际使用不知道真正的速度咋样
        16
    chenqh   2017-11-25 20:04:25 +08:00 via iPhone
    lua 就是个嵌入式语言,stdlib 太少了
        17
    pqee   2017-11-25 20:41:51 +08:00
    性能是最后要考虑的东西,首要的是社区。
        18
    changwei   2017-11-25 21:29:34 +08:00 via Android   ♥ 1
    一个语言火不火,和生态环境有很大关系,我说的生态环境不仅仅是依赖库多不多的问题,而是他的市场生态。比如说学习资料,社区活跃度,服务器的部署简便性,应用广泛程度等等。
    我学 lua 是因为最近在 esp8266 上的 nodemcu 固件上做物联网开发。
        19
    l1093178   2017-11-26 00:47:18 +08:00
    因为 lua 没轮子,随便做点什么都得自己动手
    要是楼主有兴趣的话可以多给 https://github.com/luvit/luvit 撸点轮子,这样说不定用 lua 的人就多了。
    不过老实说,相较 Elixir 或 Golang,lua 做 web 的优势并不是那么大。
        20
    Phariel   2017-11-26 03:16:06 +08:00 via Android
    听说 openresty 里的 lua JIT bug 有点多 我总在听同事吐槽
        21
    msg7086   2017-11-26 03:17:47 +08:00
    还没到需要考虑性能的时候。
    开发,先看代码实现难度,再看维护难度。
    等要看性能的时候,你公司价值起码一个亿了吧。
    然后我们再来看换什么语言。
    (这时候大概也不是换 lua 了,因为还要看人才数量,说不定就滚去 Java 了。)
    你应该问,有多少人写 Web 是会遇到性能瓶颈的。
        22
    zhangbohun   2017-11-26 04:05:30 +08:00 via Android   ♥ 1
    数组索引从 1 开始。。。
        23
    lrxiao   2017-11-26 05:06:18 +08:00
    lua 主要是与 C/C++交互啊 web 又不用这玩意 要是做游戏还行
        24
    baskice   2017-11-26 06:46:55 +08:00
    我说一个最简单的问题,假设现在有两种代码
    A 代码 1 小时上手
    B 代码需要 4 年本科培训才能搞懂

    A 代码写的程序平均要 B 代码运行时间的 2 倍以上。

    现在有大量像我一样的人只需要快速上手写个小破网站给十几个人看即可。
    另有少数 Google 级的大公司访问上亿,每一毫秒优化都非常必要。

    你说大部分人选 A 还是 B ?
        25
    anmaz   2017-11-26 07:17:58 +08:00 via Android
    老师说,大部分公司的体量还没有达到谈性能问题,多一台服务器足以
        26
    abcbuzhiming   2017-11-26 09:05:40 +08:00
    替代 JAVA ?口气真大啊,你的生态圈才多大?
        27
    m939594960   2017-11-26 10:34:52 +08:00
    @abcbuzhiming 没有一个语言是上来就有一个很完善的生态圈,都是慢慢用,慢慢有人进行完善。
        28
    m939594960   2017-11-26 10:35:36 +08:00
    @lrxiao web 可以用这东西的,现在已经有几个 lua 的 web 框架了 配合 openresty 使用
        29
    abcbuzhiming   2017-11-26 11:21:38 +08:00
    @m939594960 你要不要看一下 lua jit 这玩意已经诞生多久了?有的语言只适合做小工具,不会有人给他做生态圈的
        30
    visonnn   2017-11-26 11:59:38 +08:00 via Android
    最近一直在做用 openresty 做开发,体验讲真不好,要花比较多的时间去调试。

    luarocks 也是要了我的命……
        31
    blless   2017-11-26 12:20:59 +08:00 via Android
    我是运维转的开发,写了 go 之后再也不想写 python 这种动态语言了…动态语言真的是炳双刃剑,技术好的人用得越好,差的人也用得更差,go 只要老老实实写业务 性能已经是 python 的数倍了。lua jit 比 python 快我信,比 go 还快?
        32
    SuperMild   2017-11-26 13:14:29 +08:00
    @blless 我也是从 go 开始感受到静态语言的好处
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2162 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 02:01 · PVG 10:01 · LAX 18:01 · JFK 21:01
    ♥ Do have faith in what you're doing.