新足迹

 找回密码
 注册

精华好帖回顾

· 人民牌®旗袍——更新圣诞节两件旗袍合影 (2008-12-15) 人民 · 老爸老妈旅澳趣事(温馨一笑,九篇) (2007-8-10) lilytop
· 酱酱相传--四川红油辣椒酱--椒麻鸡 (2011-6-3) 飞跑的猪 · 2024年秋冬 - 日本北陆的两家客栈、两顿法餐 (Eaufeu + Levo) (2024-12-27) violinlearner
Advertisement
Advertisement
查看: 2717|回复: 19

[IT] rust, csharp release build vs debug build performance [复制链接]

发表于 2022-9-19 07:02 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我上周惊奇的发现我写的rust language 应用程序在cargo build --release下速度是normal build的六十倍,normal build下运行我写的程序大概需要花七分钟时间,而在release build下运行只要七秒,太棒了

反观csharp,我感觉没啥区别

我感觉用rust language太有趣啦

reference
https://users.rust-lang.org/t/no ... o-much-better/52573
https://stackoverflow.com/questi ... release-performance

评分

参与人数 1积分 +10 收起 理由
superdigua + 10 感谢分享

查看全部评分

Advertisement
Advertisement

2019年度勋章

发表于 2022-9-19 07:31 |显示全部楼层
此文章由 superdigua 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 superdigua 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 superdigua 于 2022-9-19 07:34 编辑

希望 rust language 能取代 C,GO 和 JAVA

Linux luminaries discuss efforts to bring Rust to the kernel
https://www.theregister.com/2022/09/16/rust_in_the_linux_kernel/
舆论自由意味着容忍自己不喜欢的言论的存在。
我的观点当然可能是错误的。可以拉黑,无权屏蔽。

发表于 2022-9-19 07:40 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
superdigua 发表于 2022-9-19 07:31
希望 rust language 能取代 C,GO 和 JAVA

Linux luminaries discuss efforts to bring Rust to the kerne ...

rust啥都好,就是在vim里不能让我在调用的函数上跳到函数的代码实现里, visual studio code可以,但我喜欢terminal, 不喜欢gui

发表于 2022-9-19 07:43 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
superdigua 发表于 2022-9-19 07:31
希望 rust language 能取代 C,GO 和 JAVA

Linux luminaries discuss efforts to bring Rust to the kerne ...

我现在自己的业余项目里只用rust language和reactjs typescript,诚实的说delphi ide是用起来太舒服了,可惜要自己释放内存指针,连dephi ide 加载了些component后会出现太多的access violation,而且要卖钱,太贵了
头像被屏蔽

禁止发言

发表于 2022-9-19 10:30 |显示全部楼层
此文章由 InTheEnd 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 InTheEnd 所有!转贴必须注明作者、出处和本声明,并保持内容完整
楼主现在三句不离rust,还有你和大地瓜讨论rust,已经说明rust的未来了

发表于 2022-9-19 12:41 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
InTheEnd 发表于 2022-9-19 10:30
楼主现在三句不离rust,还有你和大地瓜讨论rust,已经说明rust的未来了 ...

我只不过是一直在郁闷我写的程序要浪费我七分钟时间,突然在改成release build后变成了七秒,太兴奋激动啦,以前优化delphi代码最多个优化个两倍算最好结果啦,现在才知道可以有六十倍的速度提高,而且还不用大动干戈。反正我也不在线调试代码,测试用release build也没啥不好啦
Advertisement
Advertisement
头像被屏蔽

禁止发言

发表于 2022-9-19 13:58 |显示全部楼层
此文章由 InTheEnd 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 InTheEnd 所有!转贴必须注明作者、出处和本声明,并保持内容完整
DDD888 发表于 2022-9-19 12:41
我只不过是一直在郁闷我写的程序要浪费我七分钟时间,突然在改成release build后变成了七秒,太兴奋激动 ...

你这段时间一直是三句不离rust,已经走火入魔

发表于 2022-9-19 19:29 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
InTheEnd 发表于 2022-9-19 13:58
你这段时间一直是三句不离rust,已经走火入魔

没那样严重吧

发表于 2022-9-20 20:38 来自手机 |显示全部楼层
此文章由 faseeng 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 faseeng 所有!转贴必须注明作者、出处和本声明,并保持内容完整
去年还以招不到写Rust的人为理由强烈建议组里转向了C++,没想到现在天天写

客观的说Rust真的是好东西。效率基本和C没差

发表于 2022-9-20 20:39 来自手机 |显示全部楼层
此文章由 faseeng 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 faseeng 所有!转贴必须注明作者、出处和本声明,并保持内容完整
DDD888 发表于 2022-9-19 19:29
没那样严重吧

貌似据统计写Rust的人是最爱自己的语言的一群人

发表于 2022-9-21 07:02 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
faseeng 发表于 2022-9-20 20:38
去年还以招不到写Rust的人为理由强烈建议组里转向了C++,没想到现在天天写

客观的说Rust真的是好东西。效 ...

rust language编程体验就像个非常严厉的老师时刻督促我一定要把所有的句子都写的他满意才可以让我通过编译,当然啦这两天我发觉要成功运行rust我写的程序,主要出错点是json parser我写的逻辑错误,即使完美的代码,逻辑错了仍旧要调试,当然啦因为赶时间,没有写相应的unit test,应该有了unit test,就完美了,不会出错了
Advertisement
Advertisement

发表于 2022-9-21 07:39 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
faseeng 发表于 2022-9-20 20:38
去年还以招不到写Rust的人为理由强烈建议组里转向了C++,没想到现在天天写

客观的说Rust真的是好东西。效 ...

另外我感觉同样写代码, c, c++, delphi, golang, rust language其实一个人写各种代码,每天的产出都差不多,但rust language大幅度减少了调试维护时间,这往往百分比上是很高的,写好能运行后基本就不用再关心了,总是在默默的正常工作,任劳任怨

不像csharp asp.net mvc razor template engine,写的html template稍微多点,启动website会等待很长时间,曾达到三分钟,我是在网站运行了三年后才注意到,果断的不用razor template engine,换了其他的,还有就是datatable, 也是个坑,我不用了datatable,改成object array,时间就从原来需要三秒缩减到只要0.5秒,我在想如果将asp.net mvc网站用rust language actixweb重新开发下,如何呢?估计老板是不会允许我这样做的,因为这样可能就完全依赖我了,对老板来说风险太高

发表于 2022-9-21 21:36 来自手机 |显示全部楼层
此文章由 angest 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 angest 所有!转贴必须注明作者、出处和本声明,并保持内容完整
superdigua 发表于 2022-9-19 07:31
希望 rust language 能取代 C,GO 和 JAVA

Linux luminaries discuss efforts to bring Rust to the kerne ...

能取代C++吧,这三个够呛

2019年度勋章

发表于 2022-9-21 21:54 |显示全部楼层
此文章由 superdigua 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 superdigua 所有!转贴必须注明作者、出处和本声明,并保持内容完整
InTheEnd 发表于 2022-9-19 10:30
楼主现在三句不离rust,还有你和大地瓜讨论rust,已经说明rust的未来了 ...

可以参考下面这个

20211004 心目中近几十年最愚蠢的科研成果
舆论自由意味着容忍自己不喜欢的言论的存在。
我的观点当然可能是错误的。可以拉黑,无权屏蔽。

发表于 2022-9-22 06:22 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 DDD888 于 2022-9-22 07:08 编辑
angest 发表于 2022-9-21 21:36
能取代C++吧,这三个够呛


rust 要比c在多线程领域成熟多了,这年头不能将拥有16/24/48个核的服务器只用其中的一个核,这是和钱包过不去,我给朋友用的服务器是16核的,我还有个24核的,我想等16核的服务器用坏了,再用啦,我很节约的。

现在很少人建议用 rust 开发网站,但我就用来开发网站,前台是 reactjs typescript ,我和我开发的 asp.net windows  比较,快许多,稳定多了,特别适合高频交易软件编写,越大越复杂越好
我将每个函数分别写在一个个独立文件里,这样看起来赏心悦目,一次只读个最多二三十行代码,非常轻松,我这人如果让我一次看见一个拥有几千行的代码的文件,我的头都大了

发表于 2022-9-22 22:59 |显示全部楼层
此文章由 faseeng 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 faseeng 所有!转贴必须注明作者、出处和本声明,并保持内容完整
DDD888 发表于 2022-9-21 07:39
另外我感觉同样写代码, c, c++, delphi, golang, rust language其实一个人写各种代码,每天的产出都差不 ...

光一个match基本就可以推动很多人扔掉C了(monkey23)
Advertisement
Advertisement

发表于 2022-9-23 07:45 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
faseeng 发表于 2022-9-22 22:59
光一个match基本就可以推动很多人扔掉C了

可以具体介绍下理由吗?不懂你说的

发表于 2022-9-23 08:04 |显示全部楼层
此文章由 faseeng 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 faseeng 所有!转贴必须注明作者、出处和本声明,并保持内容完整
DDD888 发表于 2022-9-23 07:45
可以具体介绍下理由吗?不懂你说的


原生match直接按类型传参数(guards),还可以额外进行值判断(binding),作为C/C++程序员,第一次看到的时候真的是太惊艳了。

Something like this 真的是很优雅啊:

  1. fn main() {
  2.     let temperature = Temperature::Celsius(35);
  3.     // ^ TODO try different values for `temperature`

  4.     match temperature {
  5.         Temperature::Celsius(t) if t > 30 => println!("{}C is above 30 Celsius", t),
  6.         // The `if condition` part ^ is a guard
  7.         Temperature::Celsius(t) => println!("{}C is below 30 Celsius", t),

  8.         Temperature::Farenheit(t) if t > 86 => println!("{}F is above 86 Farenheit", t),
  9.         Temperature::Farenheit(t) => println!("{}F is below 86 Farenheit", t),
  10.     }
  11. }
复制代码

(例子来源:rust-by-example -> flow_control -> match

发表于 2022-9-23 08:35 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 DDD888 于 2022-9-23 08:58 编辑
faseeng 发表于 2022-9-23 08:04
原生match直接按类型传参数(guards),还可以额外进行值判断(binding),作为C/C++程序员,第一次看到的 ...


谢谢回答,我对你说的match没啥感受

我就对rust多线程共享变量的方便性非常开心,不用担心争抢变量而头疼,在程序编译成功后就不用考虑多线程共享变量

例如下面截图里的users是整个应用程序里的全局变量,控制应用的存取权限,我不用担心其他thread对这users变量的操作啦

我使用mut表明在这线程里我会对这变量进行写操作,如果我省去mut,则表明该线程只读该变量,非常简单


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

发表于 2022-9-27 07:30 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
DDD888 发表于 2022-9-21 07:02
rust language编程体验就像个非常严厉的老师时刻督促我一定要把所有的句子都写的他满意才可以让我通过编 ...

我的观点和这篇文章https://markrbest.github.io/hft-and-rust/类似

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部