go和Rust的简单对比[针对早上某人的评测文章写的-该文章已经被作者删除]

luohuazhiyu · · 2278 次点击
你们2个人,其实都没有错,现象都是对的,可以供其他人思考 只不过下的结论打击面太大,没法去评价 本质区别: 1、Go的for语句,是赋值型,无论多少个循环,循环量都是放在同一个地址,不停的修改值。Go是一门实战性很强的语言,切片和传值设计都很精妙,也只有过去用C写,吃过各种苦的人,才能够体会到Go的贴心之处。 2、Rust只是看过,没有深究过内存结构,如果猜测有误,其他人来补充。估计和Scala一样的设计思想,强调不可变性,这类语言实际上是没有真正的for语句的,多少个循环,实际上就是直接产生多少个不可变对象,时间都是浪费在这里。一般情况,都是建议用户变量 + while语句,去避免产生大量的不可变对象耗费时间。 基准测试,应该避免编译器优化 另外,内循环,如果考虑到CPU Cache Line的长度,是否被32、64整除 也可以比较一下测试结果 现象是没有对错的,只要是正确的测试,都有参考价值
#5
更多评论
一般这种当做看看就好的。
#1
不是0 我的老爷机上是 毫秒级的, 早上那个人没学过rust 用的是debug测试的, 我让他删了,没想还是被你喷了。。。 上面的测试go测试代码在32位是不不正确的, 算了,反正也不重要。
#2