- 主题:请教个rust基本问题,Rc<RefCell<T>>有啥坏处?
oreily那本
【 在 KEILLY (米饭) 的大作中提到: 】
: 哪本叫螃蟹书?
: 发现大部分rust的书,封面都是螃蟹。。
--
FROM 123.120.160.*
你要用第二种风格的话,何必迁往rust呢,c++完美匹配你的要求
【 在 beep 的大作中提到: 】
: 团队正在迁往rust,有两种关于数据结构风格的意见:
: 1. 按照螃蟹书的风格建议,既然使用了rust,就需要先费心根据需求设计好所有权树,尽量少用Rc<RefCell<T>>,多用&和&mut解决问题
: 2. 因为业务需求变化不可预测,现在设计的所有权树不一定适应将来的需求,比如一个所有权树的根,将来要变成Rc多个主体拥有,哪个主体先死都不一定,那么现在就尽量多使用Rc<RefCell<T>>,其实就是把rust当作python来用,大部分重要的数据结构变量都进堆,都用Rc保证可以随便传递和复制所有权,都用RefCell来保证随时可borrow_mut,可写。而且不需要费心考虑所有权和引用规则的问题,虽然写起来罗嗦点,但是其实心智负担更轻。
: ...................
--
FROM 125.33.244.*
不久之后会不会有一波回退潮?
【 在 beep 的大作中提到: 】
: 团队正在迁往rust,有两种关于数据结构风格的意见:
: 1. 按照螃蟹书的风格建议,既然使用了rust,就需要先费心根据需求设计好所有权树,尽量少用Rc<RefCell<T>>,多用&和&mut解决问题
: 2. 因为业务需求变化不可预测,现在设计的所有权树不一定适应将来的需求,比如一个所有权树的根,将来要变成Rc多个主体拥有,哪个主体先死都不一定,那么现在就尽量多使用Rc<RefCell<T>>,其实就是把rust当作python来用,大部分重要的数据结构变量都进堆,都用Rc保证可以随便传递和复制所有权,都用RefCell来保证随时可borrow_mut,可写。而且不需要费心考虑所有权和引用规则的问题,虽然写起来罗嗦点,但是其实心智负担更轻。
: ...................
--
FROM 175.42.43.*
因为使用了谷歌啊。SO、bing也强大,但是比谷歌的内容要少,精准度也不如。
最近还发现一个码农用谷歌来搞网赚的办法。。
【 在 todaysm 的大作中提到: 】
: 为什么你什么都懂
: 发自「今日水木 on iPhone XS」
--
修改:z16166 FROM 114.245.195.*
FROM 114.245.195.*
之前业务是python写的,要加速,尝试了一阵子c++,受不了了,所以才转rust。。。
哪怕rust里用Rc+RefCell很多,也比c++强吧?
【 在 Bernstein (Berns) 的大作中提到: 】
: 你要用第二种风格的话,何必迁往rust呢,c++完美匹配你的要求
--
FROM 123.120.160.*
其实建议你profile一下性能,然后把瓶颈用c改写成python模块...
【 在 beep 的大作中提到: 】
: 之前业务是python写的,要加速,尝试了一阵子c++,受不了了,所以才转rust。。。
: 哪怕rust里用Rc+RefCell很多,也比c++强吧?
:
--
FROM 125.33.244.*
这用法就好比把 js 迁移到 ts,然后所有类型都声明成 any,有啥意义呢?
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: 之前业务是python写的,要加速,尝试了一阵子c++,受不了了,所以才转rust。。。
: 哪怕rust里用Rc+RefCell很多,也比c++强吧?
--
FROM 203.211.111.*
这个比喻好,心里安慰式的用法很多时候还有副作用,会有一些虚假的
安全感、提速感。
【 在 eGust (十年) 的大作中提到: 】
: 标 题: Re: 请教个rust基本问题,Rc<RefCell<T>>有啥坏处?
: 发信站: 水木社区 (Tue Dec 7 10:31:01 2021), 站内
:
: 这用法就好比把 js 迁移到 ts,然后所有类型都声明成 any,有啥意义呢?
:
: 【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: : 之前业务是python写的,要加速,尝试了一阵子c++,受不了了,所以才转rust。。。
: : 哪怕rust里用Rc+RefCell很多,也比c++强吧?
:
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 203.211.111.*]
--
FROM 222.212.85.201
我感觉也是,不可能到处都是瓶颈
【 在 Bernstein 的大作中提到: 】
: 其实建议你profile一下性能,然后把瓶颈用c改写成python模块...
:
--
FROM 114.242.17.*
ts不是兼容js么?
【 在 eGust (十年) 的大作中提到: 】
: 这用法就好比把 js 迁移到 ts,然后所有类型都声明成 any,有啥意义呢?
--
FROM 27.91.71.*