#### **我最近对比了golang以及python的移动文件API, 发现golang的os.Rename相比较python的os.rename居然慢了10倍之多.**
#### **查看源码得知无论golang还是python都是调用了系统提供的API.那么为什么会出现这种情况了? **
#### 这是golang代码:
![PT1]AT15_2S2DZ{DN$1UM%N.png](https://static.studygolang.com/180926/f03bf30173beb182d0ae4cebdeda1c5a.png)
#### 这是python代码:
![Z`9@861I7{5@IPB%]PP0G%O.png](https://static.studygolang.com/180926/0b5267c87dad37b6580f9558e075dd62.png)
### 这是python和goalng的运行结果:
![4U@I7@6K3N]~VP_%D~1J%@F.png](https://static.studygolang.com/180926/0fe64adf293c054a1e566c090c420eda.png)
#### ** 那么为什么会出现这种情况了?又该如何达到python这种速度?亦或是我的使用方法有误? **
#### **我的python版本: 3.6, golang版本: 1.10.3, 系统: win10**
多一个!判断以及filepath。一楼指出的也是一小部分原因,话说这种脚本类的工作确实还是比较适合python,并不是赢在效率上,而是python更简便一些,另外如果一定要用Go,那得发挥Go的特性才行,这种活儿应该利用Go协程和工作池来完成,要知道Go最大特性就是并发,虽然Python也有多线程并发,虽然个人没有对比过,没有数据表明,但理论上应该是Go的效率高一些。
#7
更多评论