我在 Linux 上编程时使用 fwrite()。执行该操作大约需要一秒钟。如何才能实现更好、更高效的响应,最好是在 20 毫秒或更短的时间内?
答案1
fwrite(3)
根本不要使用。使用mmap(2)
将文件映射到内存中,然后执行指针操作来访问和写入映射内的数据。
答案2
尝试添加O_DIRECT添加到 (f)open 语句的选项列表中。您可能必须使用“ret = posix_memalign(&buffer, 512, PAGE_SIZE);”才能正确对齐缓冲区。
我在 Linux 上编程时使用 fwrite()。执行该操作大约需要一秒钟。如何才能实现更好、更高效的响应,最好是在 20 毫秒或更短的时间内?
fwrite(3)
根本不要使用。使用mmap(2)
将文件映射到内存中,然后执行指针操作来访问和写入映射内的数据。
尝试添加O_DIRECT添加到 (f)open 语句的选项列表中。您可能必须使用“ret = posix_memalign(&buffer, 512, PAGE_SIZE);”才能正确对齐缓冲区。