Dường như có nhiều nhầm lẫn về mục đích của kích thước của hai đối số 'và' đếm 'trong fwrite(). Tôi cố gắng để tìm ra sẽ nhanh hơn -fwrite() - ảnh hưởng của kích thước và tính trên hiệu suất
fwrite(source, 1, 50000, destination);
hoặc
fwrite(source, 50000, 1, destination);
Đây là một quyết định quan trọng trong mã của tôi như là lệnh này sẽ được thực hiện hàng triệu lần.
Bây giờ, tôi chỉ có thể chuyển sang thử nghiệm và sử dụng kết quả có kết quả tốt hơn, nhưng vấn đề là mã dành cho nền tảng MANY.
Vì vậy,
Làm thế nào tôi có thể nhận được một câu trả lời dứt khoát mà là tốt hơn trên nền tảng?
Logic thực hiện của fwrite() có thay đổi từ nền tảng đến nền tảng không?
Tôi nhận ra có những câu hỏi tương tự (What is the rationale for fread/fwrite taking size and count as arguments?, Performance of fwrite and write size) nhưng tôi hiểu rằng đây là một câu hỏi khác nhau về cùng một vấn đề. Các câu trả lời trong các câu hỏi tương tự không đủ trong trường hợp này.
Tôi vừa thực hiện một số thử nghiệm trên OS-X, viết mười tệp 100MB và không có sự khác biệt giữa thứ tự tham số hoặc khi viết (2) thay vì fwrite. Đối với các nền tảng khác, tôi không thể nói. –