Tôi đang viết một ứng dụng nhỏ, viết các hình ảnh jpeg với tốc độ không đổi trên thẻ SD. Tôi chọn một hệ thống tệp EXT3, nhưng hành vi tương tự đã được quan sát với hệ thống tệp EXT2.Hiệu suất ghi thẻ SD
viết vòng lặp của tôi trông như thế này:
get_image()
fwrite()
fsync()
Hoặc như thế này:
get_image()
fopen()
fwrite()
fsync()
fclose()
Tôi cũng hiển thị một số liệu thống kê thời gian, và tôi có thể thấy chương trình của tôi là đôi khi bị chặn trong vài giây. Tỷ lệ trung bình vẫn tốt, bởi vì nếu tôi giữ hình ảnh đến vào năm mươi, thì tôi sẽ viết nhiều hình ảnh trong một khoảng thời gian ngắn sau một gian hàng như vậy. Bạn có biết nếu nó là một vấn đề với hệ điều hành hoặc nếu nó có liên quan đến chính thẻ SD? Làm cách nào để di chuyển đến gần hơn với thời gian thực? Tôi không cần thời gian thực mạnh mẽ, nhưng bị đình trệ trong vài giây là không thể chấp nhận được.
Một số độ chính xác: Có cần thiết phải đồng bộ hóa sau mỗi tệp, vì tôi muốn hình ảnh nằm trên đĩa, không phải trong bộ đệm người dùng hoặc hạt nhân. Nếu không có fsyncing, tôi có thông lượng tốt hơn nhiều, nhưng vẫn không thể chấp nhận gian hàng. Tôi không nghĩ rằng đó là một vấn đề đệm, kể từ khi gian hàng đầu tiên xảy ra sau khi 50 Mbytes đã được viết. Và theo trang người đàn ông, fsync là ở đây chính xác để đảm bảo không có dữ liệu đệm.
Độ chính xác về tỷ lệ ghi trung bình: Tôi đang viết với tốc độ bền vững bằng thẻ tôi đang sử dụng. Nếu tôi đống hình ảnh đến trong khi chờ đợi một fsync hoàn thành, sau đó sau khi gian hàng này tốc độ ghi sẽ tăng lên và tôi sẽ nhanh chóng quay trở lại mức trung bình. Tốc độ truyền trung bình là khoảng 1,4 MByte/s.
Các Systeme là một máy tính xách tay hiện đại chạy ubuntu 8.04 với chứng khoán kee (2.6.24.19)
pleaes lưu ý JFFS và như thế không phải là một ý tưởng tốt cho một số thiết bị đèn flash, chẳng hạn như CompactFlash, mà làm san lấp mặt bằng mặc riêng của họ. – Hasturkun
Chúng có phải là một ý tưởng tồi hay không, mức độ hao mòn của CompactFlash chỉ phủ nhận lợi ích của JFFS? Đó là một câu hỏi trung thực, tôi không biết. Tôi đồng ý rằng nó chắc chắn là một lựa chọn tốt hơn cho các thiết bị flash 'nguyên'. –