Mana yang lebih cepat, menyalin semuanya sekaligus atau sekaligus?


16

Saya mentransfer banyak (20+) file besar (1GB +) ke flash drive eksternal saya melalui USB 2.0. Apakah lebih cepat dengan hanya mengaitkannya sekaligus (seperti dalam satu per satu tetapi tidak menunggu transfer sebelumnya selesai) sehingga ada beberapa transfer yang terjadi, atau mentransfer satu, menunggu hingga selesai, mentransfer yang berikutnya . File-file tersebut berasal dari berbagai lokasi jadi saya tidak dapat melakukan satu transfer besar pun.

Apakah ada keuntungan lain yang patut dipertimbangkan?


Berapa "Bunch"
Moab

20+, pertanyaan diperbarui.
fredley

6
Ada beberapa jawaban teoritis yang sangat menarik di sini, tetapi saya ingin melihat beberapa data nyata. Bagaimana kita bisa membuat tes yang andal?
Pops

Jawaban:


19

Jika mereka semua berasal dari disk fisik yang berbeda, tetapi ditulis ke solid state drive (flash, SSD) maka Anda dapat menyalinnya secara bersamaan.

Gerakan head fisik (latensi) adalah apa yang akan memperlambat transfer dari disk piringan berputar. Jika Anda menyalin dari satu HDD, maka Anda akan memulai satu transfer besar daripada banyak yang kecil. Head bolak-balik antara dua atau lebih file yang sedang disalin adalah yang memperlambat transfer. Tentu saja Anda akan mendapatkan efek yang sama jika HDD sangat terfragmentasi bahkan jika Anda menyalin satu file.

Jika berada di antara solid state drive, maka itu tidak masalah.

Jika Anda tidak ingin menunggu sampai setiap transfer selesai, gunakan aplikasi antrian salin seperti Teracopy .

Tentu saja kecepatan menulis flash drive akan menjadi hambatan di sini, jadi mungkin tidak masalah ke arah mana Anda melakukannya. :)


1
Jawaban yang sangat bagus, meskipun saya lebih suka FastCopy sendiri. :-)
afrazier

Teracopy hebat! Saya suka cara itu secara otomatis menggantikan sistem file-copy Windows. Peningkatan kecepatan luar biasa terima kasih!
fredley

Meskipun kedengarannya masuk akal, dan inilah yang saya pikirkan secara pribadi. tetapi latihan membuktikan sebaliknya, saya memiliki flash USB yang menyalin file tunggal (dari SSD) pada 30 MB / s, tetapi ketika saya mencoba untuk menyalin tiga file pada saat yang sama di lingkungan yang sama, kecepatan turun menjadi 2,5 MB / s per utas salinan. Jadi kecepatannya turun menjadi 7,5 MB / s dari 30 MB / s.
Sisyphus

2

Jika disk tujuan adalah SSD, perlu diingat bahwa SSD adalah, untuk apa yang menjadi perhatian di sini, sangat cepat . (*)

Jika tujuan lebih lambat (dari flash dengan kecepatan tulis tidak terlalu tinggi ke SATA3 HDD ke pita magnetik) Anda harus mengantri transfer, satu per satu.

Kemacetan Anda pasti berada pada disk tujuan

Dalam HDD ini disarankan saat ini karena, meskipun ada lebih dari satu kepala dalam satu silinder, mereka tidak diizinkan untuk membaca atau menulis secara bersamaan (itu tidak menunjukkan dampak kinerja dalam skenario dunia nyata karena kenyataan bahwa kita dapat menemukan data acak di salah satu kepala yang tidak memungkinkan kita untuk R / W di kepala itu untuk sebagian besar waktu, dan jika kepala tidak sepenuhnya terpusat yang dapat menyebabkan korupsi disk).

Akal sehat (dan matematika juga!) Mengatakan bahwa jika kita memiliki sumber yang sangat bagus tetapi kita dapat melakukan transfer file secara paralel, pencarian head bisa (dalam tidak banyak skenario) lebih cepat daripada serialisasi pekerjaan.

(*) Yaitu, seperti yang dikatakan nnewton, karena tidak ada gerakan kepala. Tetapi sebaiknya kita tidak menggunakan istilah latensi : latensi adalah gerakan kepala + penundaan rotasi disk + waktu baca, dan dalam SSD yang hanya waktu baca acak dan tidak bergantung pada posisi baca sebelumnya seperti yang dilakukan oleh drive disk


2

Menggunakan utilitas salin file bawaan di Windows, keduanya sangat lambat. Anda mungkin ingin mempertimbangkan untuk menggunakan aplikasi alternatif seperti TeraCopy .


1

Jika Anda menyalin melalui protokol IP (FTP / SCP / Samba / dll) maka ada lebih sedikit overhead untuk menyalin satu file karena ada beberapa jabat tangan di antara setiap file.

Dalam hal ini, karena ada file besar dan sedikit jumlahnya, itu tidak akan membuat banyak perbedaan pada bus I / O apa yang Anda lakukan dan mungkin lebih mudah untuk menyalinnya seperti semula.


0

Anda sebaiknya menulis satu file pada satu waktu.

Anda mungkin akan menemukan bahwa bandwidth flash-drive Anda akan jenuh dengan cukup mudah. (Sumber drive tidak mungkin menjadi penghambat.) Sementara USB 2.0 dapat mentransfer hingga 480MB, flash-drive Anda mungkin terbatas hingga ~ 20 MB. Ini berarti bahwa ketika Anda mentransfer beberapa file dari hard drive, itu akan memaksimalkan kecepatan tulis flash-drive, dan setiap file akan ditulis lebih lambat karena mereka harus berbagi.

Juga, dengan menulis banyak file pada saat yang sama, Anda meningkatkan fragmentasi karena kecuali ruang untuk file-file tersebut sepenuhnya dialokasikan segera setelah transfer dimulai, mereka akhirnya akan dipecah menjadi potongan-potongan ketika file ditransfer.

(Untungnya karena flash-drive solid-state, tidak ada head yang harus bolak-balik seperti jika Anda mentransfer banyak file ke hard-disk.)

Kelemahan lain dari menulis banyak file secara bersamaan adalah bahwa dialog salin file hanya menunjukkan progres dan waktu yang tersisa untuk file individual tersebut, dan hampir tidak mungkin untuk memperkirakan total waktu karena tidak linear (Anda tidak bisa menambahkan begitu saja mereka). Mentransfer mereka bersama-sama akan memberi Anda umpan balik yang jauh lebih akurat untuk seluruh transfer.

Jika file sumber berasal dari sumber yang berbeda (maksud Anda hard drive berbeda? CD / DVD? Drive jaringan? Atau hanya folder?), Maka yang dapat Anda lakukan adalah menggunakan alat penyalin file khusus alih-alih Windows bawaan dalam fungsi. Beberapa opsi termasuk alat Microsoft TechNet Robocopy , yang juga memiliki front-end GUI , RichCopy (juga dari TecNet) yang merupakan alat yang disempurnakan berdasarkan Robocopy, dan Teracopy , yang berspesialisasi dalam membuat transfer seefisien mungkin (dan memiliki versi gratis).


0

OK karena OP secara khusus mengatakan dia menyalinnya melalui USB 2.0 ke satu target, saya harus mengatakannya satu per satu, terlepas dari sumbernya.

S = Serial. Beberapa aliran file = Overhead.

Namun dalam praktiknya ...

Saat menyalin dari berbagai sumber, waktu yang hilang dari beberapa aliran akan lebih dari dibuat dengan tidak harus membuat salinan 'antrian' secara manual. Dan itu lebih mudah. ;)

Juga, jika Anda menyalin dalam beberapa aliran dan satu gagal, sisanya mungkin akan selesai.


0

Waktu pemrosesan elektronik yang disimpan dengan memuatnya secara individual harus cukup untuk menebus waktu yang hilang antara tindakan fisik menunggu setiap file selesai memuat kemudian memindahkan yang berikutnya secara individual tampaknya.


Baca jawaban lain sebelum menuliskan jawaban baru
yass
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.