同时对多个文件进行大量写操作对性能优化
来源:互联网 发布:win7部分软件乱码 编辑:程序博客网 时间:2024/05/20 02:53
如果先全部打开所有的文件,然后重复写,最后关闭所有的文件。那么第一次写操作全部完成需要16分钟左右,而第二次就需要40分钟了。没有继续测试了。
for (int i = 0; i < 65536; i )
{
fileStream[i] = new FileStream(buffDir "//" i.ToString() ".dat", FileMode.Create,FileAccess.Write, FileShare.Write,14000);
}
write;
write;
write;
........
for (int i = 0; i < 65536; i )
{
fileStream[i] .close();
}
如果在写操作的时候只打开相应的一个文件,写完关闭。那么所有写操作完成只要2分30秒左右。
循环
{
for (int i=0;i<65536;i )
{
open;
write;
close;
}
}
由此可见,第二种办法性能要远大于第一种。一次打开所有的文件,需要占用不小的内存,最主要的是.net在处理filestream 的时候,可能要进行大量的内存分配和回收等工作,消耗了大量内存和资源。
另外我也做个测试,如果文件数目比较小,那么第一种的性能又要大大好于第二种。
http://xiyangwushi.cnblogs.com/archive/2006/06/28/437409.html
- 同时对多个文件进行大量写操作对性能优化
- 同时对多个文件进行大量写操作对性能优化
- 对多个自定义cell同时进行相同操作
- Linux下多个进程或线程同时对一个文件进行写操作
- Linux下多个进程或线程同时对一个文件进行写操作
- Linux下多个进程或线程同时对一个文件进行写操作
- Linux下多个进程或线程同时对一个文件进行写操作
- 解决Linux下多个进程或线程同时对一个文件进行写操作问题
- Linux下多个进程或线程同时对一个文件进行写操作
- Linux下多个进程或线程同时对一个文件进行写操作和access函数
- 使用POI同时对Excel文件进行读和写操作时避免Invalid header signatu
- 飞鸽传书 CFile 大量地对文件进行操作
- 对服务器端文件进行写操作
- 数据库对大量数据进行操作
- 通过xhell输入命令对多个linux进行同时操作
- 对大量数据的update优化操作
- 在ubuntu下对多个C++文件进行同时编译的例子
- 对文件进行操作
- 教你制做Web实时进度条
- 介绍几个ASP.NET中容易忽略但却很重要的方法函数
- 第一次用.net2.0LOGIN登陆控件的困惑和解决方法
- 使Div内内容可编辑
- ASP与ASP.NET互通COOKIES的一点经验
- 同时对多个文件进行大量写操作对性能优化
- 解决ASP.NET中目录访问权限的问题
- access下的分页方案
- asp.net调用存储过程方法新解
- ASP.Net常用功能整理--生成图片的缩略图
- Asp.Net中NHiernate的Session的管理
- .Net2.0原汁原味读取注册表
- ASP.Net2.0中自定义控件在page中的注册
- ASP.NET2.0中配置文件的加密与解密