Rust 零成本抽象

零成本抽象

1.没有用到的功能,不需要编译和运行时开销,不用给不需要的东西付费;

2.用到的功能,也不可能优化得更好,在最终机器码层面上,Rust可以帮你做到最优;

1.对比Go,go天生为并发编程而诞生的语言,所以它内置了一套协程调度器(go runtime),所以不管你的go程序是不是并发的,最终的二进制都会包含这部分go runtime,而rust只提供特征,具体实现需要引入第三方crate,所以rust不需要并发时,不会为这部分付出成本,当然,GC也是同理,rust在编译期间就确定好了每个变量的回收节点,不会在程序运行时再进行垃圾回收

2.还是对比Go,go的字符串转[]byte,和[]byte转字符串是可以通过反射的方式来提高转换性能的(应该是这个意思吧)