如何最大限度提高.NET的性能 (续)
日期:2006年12月18日 作者: 查看:[大字体 中字体 小字体]-
昨天发了一篇如何最大限度提高.NET性能的文章,评论的人不少,在这里非常感谢大家的评论,其中有些是指出文章的一些错误的,在这里感谢那些耐心写评论的老大们,小弟受益不少。
昨天那篇主要是从写代码的一些细节上来提高速度,可能很些是难实际感受到性能的提高,但是作为一名程序员,不断提高自己代码的质量是不断追求的目标。
其实随着硬件的发展,现在硬件的速度已经远远满足大多数人的的需要了,甚至有些人提出算法在现在软件开发中越来越不起作用了。记得以前看过麻省的数据结构视频,讲课的教授就问过一个问题(我记得不大清楚了,他的大概意思就是这样):既然算法现在变得不重要了,为什么我们还要在这里研究呢?他给的答案就是“SPEED” ,我们追求速度就像赛车手追求速度一样!
现在很多系统的开发都不会把速度放在第一位,其他如:稳定性,安全性,可重用性等往往最优先考虑的。现在设计模式,开发架构等主要都不是为了解决性能问题的。以上这些都是分析师,架构师考虑的,像我们一些小小的程序员就只能在代码的一些小地方,一个类,一个方法,一行代码上面来优化程序。我觉得多注意一些细节上的东西还是很好的。
好了废话说了一大堆,现在来说说今天的主题,现在开发的很多网络系统性能开销主要是在数据的读取,传输上,更快的读取速度,更少的网络宽带占用是我们追求的目标。我就从这方面来谈谈如何提高.net的性能。
1. 在数据层分页数据。可以通过ExcuteReader或者存储过程实现,方法很多,我就不多说了.(可以看看我写的 )2. 尽量使用ExcuteReader来读取数据,ExcuteReader是效率最高的,在MicroSoft的PetShop 4.0全部数据访问都是用ExcuteReader来实现的,除非你对非连接有特殊要求(如 SmartClient智能客户端等)。
3. 在非连接场合,用DataTable比用DataSet性能好,除非你要保存多个关系表。
4. 使用DataTable的ImportRow方法。
有些场合需要把大量数据从一个DataTable复制到另一个DataTable,使用DataTable的ImportRow方法可以大大提高性能,数据量少时没多大分别,当数据量到一万行以上时就可以明显的提高,可以达到几倍。5. 把数据序列化为二进制文件方便传输。
我们在处理DataSet,DataTable对象时可以序列化为XML文件,如果要在网络传输,XML文件会产生内存,网络带宽等资源问题。这时我们就可以把它序列化为二进制文件,这样生成的文件会减少很多,代码如下:
FileStream fs = new fileStream(@"XMLData.bin",FileMode.Create);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs,XMLData);
fs.colse();
这样生成的二进制文件称为XMLBinary,用WINHEX直接打开还可以看到一些XML标记在里面,如果数据量很大,这时加一行代码: - [1] [2] 下一页
-
- 如何最大限度提高.NET的性能 (续) 相关文章:
- ·Windows Vista系统常用补丁功能介绍
- ·将最广泛的网络安全功能整合在一个系统中
- ·怎么样清除能突破主动防御的新型木马
- ·Word 2007里就能算算式 内置工具使用更方便
- ·Windows Vista SP1 3DMark性能曝光
- ·路由器性能和指标详解
- ·Windows Vista SP1改进功能完全介绍
- ·Windows Vista SP1 RC新功能初体验
- ·QQ会员与众不同 37项独有特权功能一览
- ·Photoshop打造绚丽的小能爪壁纸
- 如何最大限度提高.NET的性能 (续) 相关软件
- ·公司企业网站管理系统模板功能强大版
- ·《机战》技能视频展示
- ·超能力侦探
- ·《伊苏:起源--机能追加》免CD补丁
- ·《热血传奇》英雄新技能客户端补丁
- ·《智能执照2》试玩
- ·《失落的星球》全版本多功能修改器全集
- ·一本绝对不能叫国内父母看到的留学小说《夏天的圣诞》
- ·第三届新浪原创大赛推理类总盟主《不可能犯罪》
- ·图解PHOTOSHOP CS2 新功能体验
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·Community Server专题三:HttpModule
- ·根据选择的树形节点用asp.net结合dw和js动态生成可移动可展开的层
- ·如何在上传的图片上加上版权文字
- ·ASP.Net2.0 GridView 多列排序,显示排序图标,分页
- ·在 ASP.NET 2.0 中上载文件
- ·通过webservices上传下载文件
- ·让ASP.NET简便使用SCRIPT
- ·CMPP SP端 C# 实例
- ·生成 ContentRotator ASP.NET 服务器控件
- ·揭开ASP.NET中Cookie编程的奥秘
- ·ASP.NET上传和下载文件的代码
- ·ASP.NET实现FTP文件上载类
- ·生成静态文件的新闻系统核心代码(.net C#)
- ·ASP.Net2.0 GridView 多列排序 显示排序图标,分页
- ·ASP.NET技巧:用MasterPage 代替 PageBase
- ·ASP.NET2.0数据操作之母板页和站点导航
- ·C#捕捉摄相头的数据流
- ·理解并扩展 ASP.NET 2.0 中的站点导航系统
- ·Community Server专题四:HttpHandler
- ·上传图片以二进制插入到数据库,且读取显示
特别推荐
- ·.net基础知识错误注意二十二点知识
- ·asp.net2.0学习历程 菜鸟到中级程序员的飞跃
- ·.NET基础知识-什么是.NET
- ·初学C#+ASP.NET+Oracle时积累的备忘点滴
- ·专家详解:复杂表达式的执行步骤
- ·asp.net中的加密方法
- ·DataGrid常见关注问题解决方案
- ·学习笔记 ASP.NET 5种页面转向法
- ·ASP.NET网络编程中经常会用到的27个函数集
- ·ASP.NET之上传文件管理策略
- ·专家:用.NET动态创建类的实例讲解
- ·ASP.NET WEB服务和Flash打造MP3播放器
- ·精通ASP.NET中弹出窗口技术
- ·asp.net常用代码
- ·asp.net创建文件夹的IO类的问题
- ·Asp.Net函数集
- ·Asp.net cache 简述
- ·如何最大限度提高.NET的性能 (续)
- ·.NET编程规范
- ·Asp.net1.1升级到2.0遇到的一些问题总结
