Điều gì sẽ nhanh hơn, chuyển một tệp nén vào ổ đĩa flash sau đó giải nén ở đó hoặc chuyển các tệp đã giải nén?
Không nghi ngờ gì, câu trả lời đúng là "chuyển các tập tin chưa được nén" .
Tất nhiên việc chuyển một kho lưu trữ được nén của tất cả các tệp sẽ nhanh hơn, nhưng bạn đã quy định bước bổ sung "sau đó giải nén ở đó" .
Rõ ràng bạn không biết rằng bạn không thể "giải nén" cục bộ trên ổ đĩa hoặc thiết bị lưu trữ.
Tệp lưu trữ nguồn phải được đọc (từ nơi được lưu trữ) và sau đó giải nén sẽ được CPU thực hiện trong bộ nhớ chính.
Vì vậy, để giải nén tệp đã được chuyển sang ổ flash, tệp phải được đọc từ ổ flash, không nén, và sau đó các tệp riêng lẻ được ghi vào ổ flash.
Đó là bước cuối cùng (viết các tệp riêng lẻ) tương đương với lựa chọn sau. Vì vậy, các bước bổ sung đầu tiên ghi (các) tệp zip và sau đó đọc lại chúng (nhưng có thể được tối ưu hóa bằng bộ đệm) sẽ khiến lựa chọn đầu tiên của bạn hoạt động lâu hơn.
Một cách khác để xem xét câu hỏi của bạn là giả định một số lượng đồng thời giữa các hoạt động và đoán theo thời gian.
Vì vậy, đối với trường hợp 1, việc sao chép tệp zip vào ổ flash yêu cầu các thao tác đọc đồng thời với thao tác ghi (nhưng với một số độ trễ khối).
Viết cũng đòi hỏi nhiều thời gian để thực hiện hơn đọc (ví dụ: xem Tại sao việc sao chép cùng một lượng dữ liệu sẽ mất nhiều thời gian hơn nếu trải rộng trên nhiều tệp riêng biệt? ).
Sau khi sao chép xong, nó có thể được đọc, giải nén và ghi lại vào ổ đĩa flash.
Bất chấp sự đồng thời của các hoạt động đọc, giải nén và viết, dòng thời gian tổng thể bị chi phối bởi thời gian để ghi tất cả các tệp không nén.
RRRRRRRRR
WWWWWWWWWW
rrr rrr rrr
DDDD DDDD DDDDD
WWWWWWWWWWWWWWWWWWWWW
time-->
Trường hợp 2 là một cách đọc, giải nén và viết đơn giản.
Trường hợp này cần cùng một lượng thời gian để ghi tất cả các tệp không nén.
RRR RRR RRR
DDDD DDDD DDDDD
WWWWWWWWWWWWWWWWWWWWW
Làm thế nào bạn có thể mong đợi Trường hợp 1 hoàn thành nhanh hơn Trường hợp 2 khi giai đoạn đầu tiên của hoạt động đọc là cho cùng một lượng dữ liệu từ cùng một thiết bị và giai đoạn ghi cuối cùng là cho cùng một lượng dữ liệu cho cùng một thiết bị
và
trường hợp 1 bị tàn tật do trước tiên phải thực hiện một bản sao?