首先,虽然找到VC,但是却没找到合适的板块,于是这个问题就被发到这里了。感觉可能算是基础的吧问题如题是关于文加内存映射的问题我找了很多资料,但是一直都没有我想要的答案。
因此,我来这里问大家了。问题1:文件起初比较小,可能只有8kb起始大小。因此,我可以一下子把8kb都映射进去。这没什么太大的问题。但是,随着数据量的加大,可能会加大到上百个GB,在文件增大的过程中要怎么做?
比如100GB的文件,难道也可以全部映射进去?问题2:就是映射文件的访问视图问题。
我希望,任何时候都以最快的速度访问这个100GB的大文件,我要怎么做?
如果每次读写都创建一个视图区域的话,在其用完之后就释放掉的话,效率是不是会很低?
还是可以创建一个100GB设置更大的视图?请教高人指点指点。(因为我需要支持密集型操作的可能一秒钟之内就有N个请求而且很可能数据量比较大,所以效率非常重要。也是因为效率的原因才选择文件内存映射这个技术)请各位大大帮帮小弟吧先谢谢啦。
因此,我来这里问大家了。问题1:文件起初比较小,可能只有8kb起始大小。因此,我可以一下子把8kb都映射进去。这没什么太大的问题。但是,随着数据量的加大,可能会加大到上百个GB,在文件增大的过程中要怎么做?
比如100GB的文件,难道也可以全部映射进去?问题2:就是映射文件的访问视图问题。
我希望,任何时候都以最快的速度访问这个100GB的大文件,我要怎么做?
如果每次读写都创建一个视图区域的话,在其用完之后就释放掉的话,效率是不是会很低?
还是可以创建一个100GB设置更大的视图?请教高人指点指点。(因为我需要支持密集型操作的可能一秒钟之内就有N个请求而且很可能数据量比较大,所以效率非常重要。也是因为效率的原因才选择文件内存映射这个技术)请各位大大帮帮小弟吧先谢谢啦。
解决方案 »
- 帮看下IOCP服务器的性能数据,看看差多少?
- 对于“在没有VC环境的机器上不能运行程序的问题”发表一些看法,外加散分
- 有没有精通CE6的 做过类似PC端 任务管理器的帮我看看。。
- DLL卸载问题
- 退出主窗口,怎样让程序继续运行
- UltraEdit"换行"的时候能不能象VC++的文本编辑器一样,自动判断下行的缩进的位置
- mdi窗口怎么才能去除菜单栏?谢谢
- 在vc中写界面,比如一个窗体上有很多控件,是不是全部要用代码写呀,不能象delphi那样手工把控件拖上去就行了.是不是效率很低呀?
- 大家来讨论一下,如何实现 对话框尺寸 因 分辨率 不同而作相应的 改变问题
- VS2010,VC2010 调用API::FindWindow找不到窗口句柄
- 英文字母、标点符号的区位码 如何计算啊?字模软件急需计算方法!
- 除了用Open,怎么判断一个文件已经生成?
刚刚试了一下,映射一个4.5GB的文件,没有报错
但是
创建视图的时候出错了。我尝试创建一个4.5GB的视图的时候报错了但是把视图改小了就可以了
但是现在还有一个问题。也就是说,不管三七二十一,第一个问题已经解决。
那么第二个问题呢
就是说,我要怎样做才能保证对整个一百个文件进行随机访问,而且性能保持最高效率
那个视图到底要怎么做?
是一次性创建200个500mb的视图呢?(这样做会不会有问题呢会不会报错之类的)还是,每次要用的时候创建一个适当大小的视图?然后用完了就释放掉?(这样做效率如何?)
求指点