mmap和fwrite的io效率对比

最近工作碰到一个问题,直接打开文件io和通过mmap进行io两者谁更高效

内存映射(mmap)

直接访问文件mmap允许将文件直接映射到进程的地址空间中,这意味着可以像访问内存一样操作文件内容,而无需使用标准的I/O函数。

内存管理:通过mmap,文件内容可以被映射到内存中,并且对文件的更改会直接反映在内存中,可以更快速地对文件进行读写操作。

适用性:特别适用于大文件处理,因为它避免了频繁的I/O调用,并允许操作系统管理内存页的加载和卸载。

适用范围mmap适用于需要随机访问文件内容的情况。

fwrite

缓冲写入fwrite是C标准库函数,用于将数据块写入文件,通常会将数据缓冲到内存中,然后一次性写入文件。

适用性:对于小数据量的连续写入,fwrite通常是一个简单的选择。

顺序写入:它更适合用于顺序写入数据到文件中,而不是随机访问文件内容。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值