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

luohuazhiyu · · 2069 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

go代码 ```go func main() { /* 这是我的第一个简单的程序 */ t := time.Now() sum := 0 for i := 0; i < 20000; i++ { for j := 0; j < 20000; j++ { sum = sum + i*j } } fmt.Println(time.Now().Sub(t)) fmt.Println(sum) } ``` Rust代码 ```rust let start = SystemTime::now(); let mut x = 0; let mut i = 0; let mut y: u64 = 0; while x < 20000 { i = 0; while i < 20000 { y = y + x * i; i = i + 1; } x = x + 1; } let end = SystemTime::now(); let duration = end.duration_since(start); match duration { Ok(d) => println!("{}s{}ms", d.as_secs(),d.subsec_nanos()), Err(e) => println!("error"), } println!("The value of y is: {}", y); ``` 早上某人给出的测试结果是golang执行耗时200多ms,而Rust耗时2秒多。我当时就震惊了,golang社区怎么会有这么无脑的评测。为了纠正这哥们的测试,我放出我的测试结果 golang ![QQ图片20170322151605.png](http://studygolang.qiniudn.com/170322/c88471e1981dc5c2afe08b111d612012.png) 耗时基本都在:220ms左右 Rust ![QQ图片20170322151755.png](http://studygolang.qiniudn.com/170322/156de99a327b73adfea7cccb8a2e1196.png) 耗时都是0ms 这并不是说Rust的执行时间为0,而是Rust的编译器更加强大,直接把这种循环在编译阶段优化为值了。 这样比才有意义,不然就是误导别人

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2069 次点击  
加入收藏 微博
5 回复  |  直到 2017-03-22 17:55:54
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传