m939594960
V2EX  ›  问与答

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

  •  
  •   m939594960 · Nov 25, 2017 · 13960 views
    This topic created in 3269 days ago, the information mentioned may be changed or developed.

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

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

    为什么呢?

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

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

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

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

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

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

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

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

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

    luarocks 也是要了我的命……
    blless
    blless
    Nov 26, 2017 via Android
    31
    我是运维转的开发,写了 go 之后再也不想写 python 这种动态语言了…动态语言真的是炳双刃剑,技术好的人用得越好,差的人也用得更差,go 只要老老实实写业务 性能已经是 python 的数倍了。lua jit 比 python 快我信,比 go 还快?
    SuperMild
    SuperMild
    Nov 26, 2017
    32
    @blless 我也是从 go 开始感受到静态语言的好处
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   868 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 23:44 · PVG 07:44 · LAX 15:44 · JFK 18:44
    ♥ Do have faith in what you're doing.