Bạn không chỉ định HĐH và triển khai sắp xếp; Tôi giả sử bạn có nghĩa là sắp xếp GNU. Bạn cũng không nói "bao nhiêu thời gian" là bao lâu, hoặc bạn mong đợi nó sẽ kéo dài bao lâu. Quan trọng nhất, bạn không đề cập đến khả năng hệ thống con I / O, đây sẽ là yếu tố chi phối.
Một ổ đĩa SATA thông thường cung cấp ~ 150 MB / s. Với tốc độ đó, tệp 150 GB của bạn sẽ mất 1000 giây chỉ để đọc, khoảng 15 phút. Hãy thử $ time cat filename >/dev/null
xem. Nếu ~ 15 phút (hoặc bất cứ time cat
chương trình nào) đều ổn, bạn có thể có thể sắp xếp (1) hoạt động trong khoảng 3 lần thời gian, vì đầu ra cũng phải được viết.
Đặt cược tốt nhất của bạn cho việc tăng tốc dường như là - vô cùng, bởi vì dữ liệu của bạn phù hợp với bộ nhớ và bạn có bộ xử lý dự phòng. Theo trang thông tin, kích thước -buffer sẽ không thành vấn đề, bởi vì
... tùy chọn này chỉ ảnh hưởng đến kích thước bộ đệm ban đầu. Bộ đệm phát triển vượt quá SIZE nếu `sort 'gặp các dòng đầu vào lớn hơn SIZE.
trong khi đó một tìm kiếm nhanh chỉ ra GNU sử dụng sắp xếp hợp nhất , có thể tuân theo sự song song.
Nếu bạn thực sự muốn biết cách sắp xếp GNU xác định kích thước bộ đệm và thuật toán nào nó sử dụng để sắp xếp song song, mã nguồn coreutils và tài liệu đi kèm là có sẵn.
Nhưng nếu tôi là bạn, tôi sẽ không làm phiền. Dù bạn đang làm gì master_matrix_unsorted.csv
, sắp xếp (1) chắc chắn không phụ thuộc vào nhiệm vụ.
Đầu tiên, một ngày, một tệp CSV sẽ khiến bạn vấp ngã vì cú pháp CSV vượt xa ken sắp xếp. Thứ hai, đó là cách chậm nhất có thể, bởi vì sort (1) buộc phải sắp xếp toàn bộ các hàng (có độ dài không xác định), không chỉ cột thứ hai. Thứ ba, khi bạn hoàn thành, bạn sẽ có gì? Một tệp CSV được sắp xếp . Điều đó thực sự tốt hơn? Tại sao thứ tự quan trọng rất nhiều?
Sắp xếp âm thanh giống như một bước trên đường tới mục tiêu có thể bao gồm một số loại tính toán trên dữ liệu, tính toán này sẽ yêu cầu các số ở định dạng nhị phân. Nếu đó là trường hợp, bạn cũng có thể đưa tệp CSV thành định dạng nhị phân dễ tính toán hơn, dễ tính hơn trước tiên, ví dụ, DBMS. Bạn có thể thấy rằng việc sắp xếp nó hóa ra không cần thiết cho mục tiêu cuối cùng.