MMAP文件加速读写小技巧是什么
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,MMAP文件加速读写小技巧是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。进程读写数据时除了使用read和write
千家信息网最后更新 2025年02月01日MMAP文件加速读写小技巧是什么
MMAP文件加速读写小技巧是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
进程读写数据时除了使用read和write,还可以使用mmap进行文件映射,区别如下图所示:
可以看到,磁盘文件加载到内存后,还需要执行一次拷贝操作。
如果使用mmap,则是磁盘文件直接加载到用户空间,也就是上图中深黄色部分,进程可以通过指针直接操作文件。
粗看起来mmap少了一次拷贝,理论上比read要快。但是,调用mmap后并不会真实将文件加载到内存,因此在读写过程中(特别是大文件)会触发大量中断,导致性能降低,就算使用madvise调用加速参数都没有用。这里提供一个小方法,对文件每一页读取一下首字节:
上面的代码我们使用两个数据完全相同8M文件,看看执行预加载和不执行预加载后的表现:
可以看到执行预加载调用速度明显比不执行要快。使用madvise加速有没有效果呢?看一下:
没有效果,还是执行预加载调用速度明显比不执行要快。程序两次读文件时间略有偏差,是因为cpu与内存本身的电气特性。
鲁棒性
当使用mmap进行共享映射时,多个进程可以操作同一文件,典型场景就是使用vim编辑文件,然后使用cat查看文件,如下图:
这个时候就有竞争场景了,进程1和2分别只能看见自己的私有虚拟地址,需要调用者自己实现锁机制,详情可以参考写时拷贝机制。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
文件
进程
内存
拷贝
明显
场景
效果
数据
机制
磁盘
速度
帮助
清楚
相同
上图
两个
也就是
代码
偏差
典型
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技竞争是中美的竞争
上海翱行网络技术有限公司
服务器港口
最近战地五服务器好卡
网络安全允许串口配置么
朗诵伴奏软件开发
软件开发深化设计方案
淘宝云服务器峰值带宽
宁夏大学数据库原理
无代码软件开发视频教程
梳头视频软件开发
华为服务器哪款强
郑州东塔网络安全学院费用多少
r9000p做软件开发可以吗
中国网络安全法简读
服务器至少T
网络安全等级测评师面试题
软件开发的作文例子
3d打印软件开发招聘
广西牛犇互联网科技有限公司
网络安全教育ppt课件怎么制作
服务器为啥进不去
北航6系网络安全学硕专业课
如何测试服务器的耗电量的软件
网络安全信息安全内容
确定性网络技术的实现
手机设置网络安全宣传周
华数电视总是显示服务器繁忙
软件开发年会歌曲
如何构建ftp服务器