[BBservice]159.Windows用户态程序高效排错.熊力.[zh-cn].pdf

[BBservice]159.Windows用户态程序高效排错.熊力.[zh-cn].pdf

  1. 1、本文档共114页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[BBservice]159.Windows用户态程序高效排错.熊力.[zh-cn].pdf

Windows 用户态程序高效排错——思路、技巧、案例和方法 2 第1 章 比工具、技巧和经验都重要的是你的思考——从四个风格迥异的案例说起 第 1 章 比工具、技巧和经验都重要的是你的思考 ——从四个风格迥异的案例说起 首先跟大家分享导师Parker 给我的一个问题: 镜子里面的像,为什么左右是反的而上下不是? 我问过很多朋友这个问题,很少有人能够在3分钟内给出准确答案。这里列举出一些 比较奇特的想法: 1. 因为人的眼睛是左右对称的。(也是某“面试宝典”中的答案)。 2. 如果把镜子横过来,左右不反了,上下却反了。 3. 因为我们在北半球。 从技术层面上说,这里涉及的知识点只有镜面反射,远比Windows 内存管理简单。但 是要回答清楚,却不是信手拈来那么简单。这个例子只是想说明,除了知识以外,解决问 题需要清晰的思路。 1.1 绝望的性能问题:ADO.NET 2.0 竟然比1.0 要慢 1.1.1 问题描述 根据下面一篇文章的介绍,客户决定升级到.NET Framework 2.0 来借助ADO.NET 2.0 提高性能。 Windows 用户态程序高效排错——思路、技巧、案例和方法 1.1 绝望的性能问题:ADO.NET 2.0 竟然比1.0 要慢 3 DataSet and DataTable in ADO.NET 2.0 /msdnmag/issues/05/11/DataPoints/default.aspx 但是根据用户的测试,使用ADO.NET 2.0 后,性能反而下降。 拿到用户的代码一看,非常简单: OracleConnection conn = new OracleConnection(); conn.ConnectionString = ...; conn.Open(); OracleCommand cmd = new OracleCommand(); cmd.Connection = conn; OracleDataAdapter dap = new OracleDataAdapter(select * from mytesttable,conn); DataTable dt = new DataTable(); DateTime start = System.DateTime.Now; dap.Fill(dt); TimeSpan span = DateTime.Now - start; conn.Close(); Console.WriteLine(span.ToString()); Console.WriteLine(The Columns.Count is + dt.Columns.Count.ToString()); Console.WriteLine(The Rows.Count is+dt.Rows.Count.ToString()); 测试用的数据库表也很简单,25 万行数据,4 个字段。通过检查span.ToString 的结果, 发现同样的代码,ADO.NET 2.0 比1.1 多用了近一倍的时间。dap.Fill 方法的执行时间从原 来的3 秒增加到6 秒。 1.1.2 悲观和绝望 应该如何着手解决这个问题? 我测试完成,看到这个结果后,我的感觉:悲观。看看我们能够做什么: 1. 后台数据库表格的定义非常简单。4 个字段都是int,都是在没有index 、primary ke

文档评论(0)

整理王 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档