• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > ASP.NET技巧:同时对多个文件进行大量写操作对性能优化

ASP.NET技巧:同时对多个文件进行大量写操作对性能优化

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了asp.net,asp net培训,asp和asp.net的区别,零基础学asp.net,c#和asp.net的区别等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

  我自己的一个项目,需要同时对65536个文件进行多次写操作。

  如果先全部打开所有的文件,然后重复写,最后关闭所有的文件。那么第一次写操作全部完成需要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 的时候,可能要进行大量的内存分配和回收等工作,消耗了大量内存和资源。

  另外我也做个测试,如果文件数目比较小,那么第一种的性能又要大大好于第二种。

 

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Asp.net SignalR 应用并实现群聊功能 开源代码
  • asp.net动态更新
  • asp.net利用母版制作页脚效果
  • Asp.Net服务器发送HTTP标头后无法设置内容类型的问题解决
  • 使用asp.net mvc,boostrap及knockout.js开发微信自定义菜单编辑工具(推荐)
  • 详解ASP.NET MVC 常用扩展点:过滤器、模型绑定
  • ASP.NET Core发送邮件的方法
  • 在ASP.NET Core 中发送邮件的实现方法(必看篇)
  • ASP.NET MVC从视图传参到控制器的几种形式
  • Asp.net core WebApi 使用Swagger生成帮助页实例

相关文章

  • 2017-05-11在Framework4.0中实现延迟加载的实现方法
  • 2017-05-11解读ASP.NET 5 & MVC6系列教程(10):Controller与Action
  • 2017-05-11在ASP.NET 2.0中操作数据之三:创建母版页和站点导航
  • 2017-05-11asp.net Ajax 安装与卸载方法
  • 2017-05-11VB.NET拷贝整个目录下所有子目录及文件的实例代码
  • 2017-05-11asp.net下cookies的丢失和中文乱码
  • 2017-05-11.Net Core 下使用ZKWeb.System.Drawing实现验证码功能(图形验证码)
  • 2017-05-11asp.net web页面元素的多语言化(多国语化)实现分享
  • 2017-05-11asp.net中如何批量导出access某表内容到word文档
  • 2017-05-11如何创建一个AJAXControlToolKit的扩展控件

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ASP.NET网站伪静态下使用中文URL的方法
    • asp.net Hashtable 遍历写法
    • 几个ASP.NET技巧
    • asp.net 用户控件读取以及赋值
    • asp.net 文件下载实现代码
    • ASP.NET MVC 控制器与视图
    • asp.net利用cookie保存用户密码实现自动登录的方法
    • ASP.NET 2.0 中的创建母版页
    • 水晶报表asp.net的webform下基本用法实例
    • 关于前台调用后台事件__doPostBack函数

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有