私は現在cp -r
。
これをより速く行う方法はありますか?まず、ファイルを圧縮するのが良いでしょうか、それとも使用するのが良いでしょうかrsync
?
ベストアンサー1
最近は時々遅くて混乱していますcp
。具体的には、df = pandas.read_hdf('file1', 'df')
(700msかかる1.2GBファイル)の後にdf.to_hdf('file2')
(530ms)がcp file1 file2
(8秒)よりはるかに速いのはなぜですか?
これについてもっと学びましょう。
cat file1 > file2
あまり良くありませんでした(8.1秒)。dd bs=1500000000 if=file1 of=file2
どちらもありません(8.3秒)。rsync file1 file2
悪い場合(11.4s)は、file2がすでに存在しているため、ローリングチェックサムを実行してアップデートの魔法をブロックしようとすることです。
ああ、ちょっと待って!file2
存在する場合は、まず接続を解除(削除)するのはどうですか?
今、私たちは以下について話しています。
rm -f file2
:0.2秒(下の数字に追加)。cp file1 file2
:1.0秒。cat file1 > file2
:1.0秒。dd bs=1500000000 if=file1 of=file2
:1.2秒。rsync file1 file2
:4秒。
だからそこにあります。ターゲットファイルが存在しないことを確認してください(またはpandas.to_hdf()
存在できるファイルを切り捨ててください)。
編集する:コマンドを実行する前にキャッシュを消去することはありませんが、コメントで述べたように、これは上記のすべての数字に約3.8秒だけ追加されます。
また注目に値する。これは、さまざまなLinuxバージョン(Centos w. 2.6.18-408.el5カーネルとUbuntu w. 3.13.0-77-genericカーネル)とext4とext3で試みられました。興味深いことに、Darwin 10.12.6がインストールされているMacBookでは違いはありません。