想问 node 移动大文件的性能问题

WingDust
  • 92

有查到 node移动文件到别的目录 相关 node 移动大文件的实现,

但是我就一个问题了,

它的实现是通过先 copy 再删除 ,

这即表示移动文件需要两倍于被移动文件大小的储存。这个限制有点不能让人接受。性能上实质也要处理两个文件,感觉这个思路自然就会慢

另一思路与之比较
如果使用 node 子进程去调系统级(如 Windows move , Linux mv)下的命令去移动大文件会不会快一些,而且会不会没有上面这个储存限制?

回复
阅读 147
2 个回答

不同系统,不同情况是不一样的,比如在linux系统,同一个分区下移动,系统处理中其实只是修改相应的文件索引即可,不同分区的因为必须实质性复制,所以肯定需要先复制再删除。

调用系统的处理,肯定也是基于上述方法和限制的,即在同一个分区中,系统会优化移动为修改节点信息(这个很快),不同分区中移动,只能先复制,再删除。

如果我们选择相信 wikipedia 的话,那么即使是系统命令,也是先拷贝,再删除的思路

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏