V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xinhaiw
V2EX  ›  JetBrains

JB 家软件如果用 rust 重写

  •  
  •   xinhaiw · 2021-10-11 09:49:00 +08:00 · 6385 次点击
    这是一个创建于 1169 天前的主题,其中的信息可能已经有所发展或是发生改变。
    随便一个内存 2G 起跳,
    用 rust 没有 gc,可以节省很多资源吧,运行速度应该也更快了吧,
    34 条回复    2021-10-12 10:59:57 +08:00
    murmur
        1
    murmur  
       2021-10-11 09:49:42 +08:00
    那个语言服务器好像是 java 写的
    murmur
        2
    murmur  
       2021-10-11 09:51:49 +08:00
    我记得国产有个仿 vscode 的高端记事本,主体是 c++写的,但是背后的语言服务器启动了一堆 java 进程,所以省内存省的也就是 ui 部分
    baozijun
        3
    baozijun  
       2021-10-11 10:01:55 +08:00   ❤️ 3
    JB 家软件的界面似乎都是 java swing 开发的,所有的插件也都是在此基础上开发的,所以不好重写。

    另外占内存的是插件和运行时的索引缓存。。
    cheng6563
        4
    cheng6563  
       2021-10-11 10:01:56 +08:00
    你咋不说用汇编写
    go 写 ui 都烦的很,你这还想用 rust
    cmdOptionKana
        5
    cmdOptionKana  
       2021-10-11 10:08:35 +08:00
    用 rust 重写的成本太巨大( rust 做跨平台 GUI 怎么做?),而内存啥的,多年以前 JB 新开发时都没选择 C++而是选择 Java,那时内存可贵了,就这样占用高内存一路发展良好,可见内存占用的问题并不是很大。
    chilaoqi
        6
    chilaoqi  
       2021-10-11 10:20:19 +08:00
    能用钱解决的问题都不是问题。。。

    钱能扩内存。
    yolee599
        7
    yolee599  
       2021-10-11 10:23:12 +08:00
    用 qt 就好了
    sagaxu
        8
    sagaxu  
       2021-10-11 10:23:27 +08:00 via Android
    开发机最低配也有 16G,省内存意义不大
    gainsurier
        9
    gainsurier  
       2021-10-11 10:25:13 +08:00   ❤️ 1
    重写不要钱呐。。。。。
    sadfQED2
        10
    sadfQED2  
       2021-10-11 10:35:23 +08:00 via Android
    除了 java,其他语言的跨平台 ui 都跟闹着玩一样
    daliusu
        11
    daliusu  
       2021-10-11 10:35:41 +08:00
    @sagaxu 16g 也不见得太够,我有三台电脑,一台 16 年 macbook pro 16g 内存,一台 m1 mini 16g 内存,一台 32g 的 2020mini 。macbook pro 是最卡的,开大项目基本几个小时需要重新启动一下 webstorm,不然就卡死,滑动都滑不动的那种。m1 好一些,基本不会卡死,偶尔一天不关会掉帧非常严重(我怀疑这是 bug ),大概就几帧的样子,重启 webstorm 就好,但是 32g 的 mini 从来不会卡,几天不关都不会卡。按理说他不至于占用这么多内存,我看系统内存压力也还好,但是我也搞不懂为什么 32g 的就是比较流畅,尤其是不会出现长时间不关闭就掉帧的情况
    Vegetable
        12
    Vegetable  
       2021-10-11 10:39:02 +08:00
    应该有限吧,其实 UI 部分再多也多不到哪去,还是语言服务方面,项目越大吃的越多,这部分重写不太现实。
    bk201
        13
    bk201  
       2021-10-11 10:42:58 +08:00
    内存你确定是 java 的问题吗
    sagaxu
        14
    sagaxu  
       2021-10-11 10:47:43 +08:00 via Android
    @daliusu 16G 能卡就不用卖了,swap 开了没有?跑 Java 的机器必须关 swap 。
    ihipop
        15
    ihipop  
       2021-10-11 10:49:07 +08:00 via Android
    @sadfQED2 qt 可不是闹着玩的
    otakustay
        16
    otakustay  
       2021-10-11 10:51:02 +08:00
    然后卖 3 倍的价格能不能接受呢
    ryougifujino
        17
    ryougifujino  
       2021-10-11 10:56:20 +08:00
    Rust 没可能,用 Kotlin 重写的概率比它高多了,毕竟有个 compose-jb
    shuimugan
        18
    shuimugan  
       2021-10-11 11:11:05 +08:00
    内存又不值钱,台式机 32g 内存条单条去年 400+,今年 700+。笔记本 32g 内存条单条去年和今年都是 800+。
    hpeng
        19
    hpeng  
       2021-10-11 11:55:33 +08:00 via iPhone
    为什么能简单的觉得换一门语言就能解决这类问题呢?只要能重写,一般都会比上一版好上一点
    SorcererXW
        20
    SorcererXW  
       2021-10-11 13:39:21 +08:00   ❤️ 1
    通过 kotlin native 抛弃 JVM 可能更加现实
    lxml
        21
    lxml  
       2021-10-11 13:42:27 +08:00
    同楼上,现在 JB 已经开始准备用 kotlin 重写了,但不确定是 kotlin swing 还是 compose for desktop
    coolair
        22
    coolair  
       2021-10-11 13:43:59 +08:00
    如果真是那样的话,那会把公司给写倒闭了……
    felixcode
        23
    felixcode  
       2021-10-11 14:09:27 +08:00 via Android
    内存这么便宜,32G 也就是 JB 全家桶的年费,不必非得守着 16G 内存的机器吧
    cyrivlclth
        24
    cyrivlclth  
       2021-10-11 14:13:53 +08:00
    我刚加到了 32G 内存。。。这时候换 rust 不合适吧,有点太针对我的感觉了[狗头]
    xinhaiw
        25
    xinhaiw  
    OP
       2021-10-11 14:33:06 +08:00
    不只是内存的原因。
    rust 强大的 compiler 做了很多的优化,减少了 cpu 的负担,运行速度快。
    不需要 virtual machine,启动速度快。
    ppphp
        26
    ppphp  
       2021-10-11 14:41:11 +08:00
    rust 写东西太复杂了,看到就烦,多用点内存就用吧
    tsaohai
        27
    tsaohai  
       2021-10-11 16:52:27 +08:00
    rust 不是银弹。。
    GiftedJarvis
        28
    GiftedJarvis  
       2021-10-11 17:33:57 +08:00
    @daliusu 感觉你可以查查电脑其他方面的问题,我是 17 款 MBP 和 iMac,都是 16G 内存
    我试过开四个 IDEA 分别启动着微服务,加用 docker 启一个三 mongo 的集群,还有七八个 chrome tab,没感觉卡过
    kingfalse
        29
    kingfalse  
       2021-10-11 19:15:00 +08:00 via Android
    现在内存已经很足够了,不至于,另外 rust 有 gui 支持吗?貌似没见到
    CatCode
        30
    CatCode  
       2021-10-11 19:16:16 +08:00
    rust 目前的 gui 支持不咋地吧
    YUyu101
        31
    YUyu101  
       2021-10-11 21:14:24 +08:00
    rust 写 gui 不太行吧,go 也不太行,c++ qt 的话要了老命,java 已经算可以的了
    Goooler
        32
    Goooler  
       2021-10-11 22:30:50 +08:00 via Android
    已经开始用 compose 重写了,后面应该会把 compose 的实现 改成 skija,也就是 skia 。
    afewok
        33
    afewok  
       2021-10-12 00:04:27 +08:00
    分开来试试呢? UI 用内置浏览器,而复杂计算用 rust 或者 go?
    lostpg
        34
    lostpg  
       2021-10-12 10:59:57 +08:00 via Android
    @afewok 你要找的是不是:vscode (狗头
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3610 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 04:42 · PVG 12:42 · LAX 20:42 · JFK 23:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.