timer
摘要:http://www.mvps.org/directx/articles/selecting_timer_functions.htmhttp://www.switchonthecode.com/tutorials/csharp-snippet-tutorial-performancehttp://www.codeproject.com/Articles/2635/High-Performance-Timer-in-C
阅读全文
posted @
2013-09-27 11:34
荣京
阅读(224)
推荐(0)
在托管代码中重新发现丢失的内存优化艺术
摘要:在托管代码中重新发现丢失的内存优化艺术发布日期: 2/25/2005 | 更新日期: 2/25/2005Erik Brown本文讨论:•对象类型如何影响内存用法•对象池如何影响垃圾回收•访问大量数据时的数据流式传输•内存利用分析本文使用下列技术:.NET Framework, C#代码下载可从以下位置获得:MemoryOptimization.exe (136KB)本页内容类型大小调整单元素池机制数据流性能监视CLR 分析器小结内存是所有程序都需要的一种资源,然而明智的内存用法正在变成丢失的艺术。为 Microsoft ® .NET Framework 编写的托管应用程序依靠垃圾回收
阅读全文
posted @
2013-06-12 17:03
荣京
阅读(186)
推荐(0)
SQL Server 备份的并发性
摘要:并发当数据库正在使用时,SQL Server 使用一个联机备份过程来对数据库进行备份。 在备份过程中,可以进行多个操作;例如:在执行备份操作期间允许使用 INSERT、UPDATE 或 DELETE 语句。在数据库或事务日志备份的过程中无法运行的操作包括:文件管理操作,如含有 ADD FILE 或 REMOVE FILE 选项的 ALTER DATABASE 语句。收缩数据库或文件操作。 这包括自动收缩操作。如果备份操作与文件管理操作或收缩操作重叠,则产生冲突。 无论哪个冲突操作先行开始,第二个操作总会等待第一个操作设置的锁超时(超时期限由会话超时设置控制)。 如果锁在超时期限内释放,则第二个
阅读全文
posted @
2013-06-03 17:08
荣京
阅读(293)
推荐(0)
多次批量复制操作
摘要:多次批量复制操作.NET Framework 4.5 其他版本 可以使用 SqlBulkCopy 类的单个实例执行多次批量复制操作。 如果在两次复制之间更改了操作参数(例如目标表的名称),必须先更新这些参数,然后再进行对任何 WriteToServer 方法的后续调用,如下例中所示。 除非显式更改,否则,所有属性值都将与给定实例的上一次批量复制操作相同。 注意使用 SqlBulkCopy 的相同实例执行多次批量复制操作通常比每个操作使用独立的实例更加有效。 如果使用相同的 SqlBulkCopy 对象执行多次批量复制操作,不会限制每个操作中的源信息或目标信息相同还是不同。 但是,必须确保每次.
阅读全文
posted @
2013-06-03 09:29
荣京
阅读(391)
推荐(0)
C#的IS和AS运算符区别
摘要:C#的IS和AS运算符区别Is:检查对象是否与给定的类型兼容。例如,下面的代码可以确定MyObject类型的一个实例,或者对象是否从MyObject派生的一个类型: 1: if(obj is MyObject) 2: {}如果所提供的表达式非空,并且所提供的对象可以强制转换为所提供的类型而不会导致引发异常,则 is 表达式的计算结果将是 true。如果已知表达式始终是true或始终是false,则is关键字将导致编译时警告,但是通常在运行时才计算类型兼容性。注意:is运行符不能重载,is运行符只考虑引用转换、装箱转换和取消装箱转换。不考虑其它转换,如果用户定义转换。在Is运算符的左...
阅读全文
posted @
2012-12-13 11:50
荣京
阅读(349)
推荐(0)
转 C# 性能优化之斤斤计较篇
摘要:静态方法比实例方法快吗?我们总是从各个渠道听说:静态方法比实例方法要快,所以,我想亲自试试。测试方法很简单,循环调用实例方法和静态方法。?/// <summary>/// 这是一个普通类,调用实例的方法/// </summary>public class C1 { public void DoLoop() { for (int i = 0; i < int.MaxValue; i++) { DoIt(); } } private void DoIt() { }}/// <summary>/// 使用静态方法调用。/// </summary>
阅读全文
posted @
2012-12-13 11:32
荣京
阅读(214)
推荐(0)
转 面向程序员的数据库访问性能优化法则
摘要:面向程序员的数据库访问性能优化法则 转载自:http://blog.csdn.net/yzsind/archive/2010/12/06/6059209.aspx特别说明:1、 本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识;2、 本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于KV数据库或内存数据库或者是基于SSD技术的数据库;3、 本文未深入数据库优化中最核心的执行计划分析技术。读者对像:开发人员:如果你是做数据库开发,那本文的内容非常适合,因为本文是从程序员的角度来谈数据库性能优化。架构
阅读全文
posted @
2012-11-27 14:57
荣京
阅读(137)
推荐(0)
性能,使用Linq to sql 一个可能导致内存溢出的写法
摘要:话说程式性能提升1232011年08月19日 星期五 下午 1:26如果一直使用PC机运行net winform应用程式,也许还感觉不到性能提升的重要性。自从开始搞windows ce应用开发,接驳微型打印机,电子称等应用。想不感受性能的重要性都难。如果说如今的NOTEBOOK,台式机是内存资源上的富翁,那么PDA等这些微型设备简直就是一穷二白的穷汉。废话也不多说了,个人总结到以下几点有碍性能的问题。1,不必要的循环2,在不必要的循环中生成不必要的对象 在循环中如有需要判断跳出循环的条件,尽量写到开头。生成N个对象耗了内存之后再判断,则为时晚矣。 在循环中如果需要查询数据库获得信息,返回类型尽
阅读全文
posted @
2012-02-10 17:47
荣京
阅读(935)
推荐(0)
性能测试工具xperf之系统启动(2)
摘要:性能测试工具xperf之系统启动(2)1.安装:在网站http://www.microsoft.com/whdc/system/sysperf/perftools.mspx上下载你需要的最新版本,我下载的是WPTKit,v.4.1.1-x64version,xperf_x64.msi。安装非常简单,双击安装包,安装过程选择你喜欢的安装方式(我选择典型安装),其余全部默认。安装位置默认安装在:C:\ProgramFiles\MicrosoftWindowsPerformanceToolkit\。安装完成察看该目录可发现如下三个重要的工具:Xbootmgr.exe启动跟踪捕获工具Xperf.exe
阅读全文
posted @
2011-09-19 15:38
荣京
阅读(573)
推荐(0)
转:VS与Win7共舞:性能计数器进行性能分析
摘要:VS与Win7共舞:性能计数器进行性能分析www.diybl.com 时间 : 2010-06-30 作者:网络 编辑:Mr.阿布 点击: 50 [ 评论 ]--Visual Studio 性能优化 windows 7 作为程序员,谁都希望自己的软件性能优异,运行如飞。但是当我们在看到自己开发的软件像蜗牛一样慢吞吞地运行,半天没有反应的时候,我们常常会有这样一些疑问: “我的系统都在忙些什么?CPU在干啥?” “为什么我的软件性能表现这么低下?” “哪里才是软件的性能瓶颈?什么代码导致了软件的性能低下?” “软件运行到了什么状态?” 面对这些问题,程序员们都在想,要是有个软件仪表...
阅读全文
posted @
2011-09-19 14:33
荣京
阅读(405)
推荐(0)
蛙蛙推荐:编写一个服务监控的软件
摘要:蛙蛙推荐:编写一个服务监控的软件如果一个服务被部署到了几十台机器上,我们往往需要每天花费很多的时间去查看每台机器上的服务的运行状况,虽然微软有MOM(Microsoft Operations Manager)和SMS(Systems Management Server),但处于成本上及其它方面的考虑,好多时候我们还用不上这些东西,其实微软公开了好多管理和监控方面的API和工具,比如WMIC,System.Managerment等,把这些零散的API和工具集中起来,便可以开发一些满足自定义需求的小软件。我们要实现以下任务1、确认指定的进程已启动2、获取指定机器,指定进程的CPU、内存、线程使用情
阅读全文
posted @
2011-09-19 13:50
荣京
阅读(389)
推荐(0)
转:在 .NET 中实现异步回调访问数据库
摘要:在 .NET 中实现异步回调访问数据库时间:2009-11-17 19:52来源:网络收集 作者:佚名 点击: 334 次 技术论坛某些场合下,在对数据库进行访问时,为了避免同步访问数据时所带来的延迟,我们需要改进设计,以提高程序执行效率。一方面,这可以给用户以良好的使用体验;另一方面,也降低了程序崩溃的可能性。为实现这一目的,我们采用异步方式来访问数据库。 什么是异步 某些场合下,在对数据库进行访问时,为了避免同步访问数据时所带来的延迟,我们需要改进设计,以提高程序执行效率。一方面,这可以给用户以良好的使用体验;另一方面,也降低了程序崩溃的可能性。为实现这一目的,我们采用异步方式来访问数据库
阅读全文
posted @
2011-08-31 17:10
荣京
阅读(495)
推荐(0)
转《Effective C#》Item 16:尽量减少垃圾产生的数量
摘要:《Effective C#》Item 16:尽量减少垃圾产生的数量 对于.Net所写一般程序来说,都属于托管程序,内存的释放和回收是由Garbage Collector完成。但是相对于栈上内存操作而言,GC回收堆上的内存,会消耗更多的CPU时间,这方面的内容可以参看这篇文章。http://blog.csdn.net/knight94/archive/2006/08/05/1023352.aspx因此如果让GC不停的释放和回收内存,会造成程序性能的下降。例如对于如下这段程序而言。 protected override void OnPaint(PaintEventArgs e) { using(
阅读全文
posted @
2011-08-22 15:41
荣京
阅读(184)
推荐(0)
C#中异步和多线程的区别
摘要:追求卓越,成功会不经意间追上你。C#中异步和多线程的区别2010-08-31 14:15 by 田志良, 524 visits, 收藏, 编辑C#中异步和多线程的区别是什么呢?异步和多线程两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。甚至有些时候我们就认为异步和多线程是等同的概念。但是,异步和多线程还是有一些区别的。而这些区别造成了使用异步和多线程的时机的区别。异步和多线程的区别之异步操作的本质所有的程序最终都会由计算机硬件来执行,所以为了更好的理解异步操作的本质,我们有必要了解一下它的硬件基础。 熟悉电脑硬件的朋友肯定对DMA这个词不陌生,硬盘、光驱的技术规格中都有明确DMA
阅读全文
posted @
2011-08-16 17:11
荣京
阅读(194)
推荐(0)
改进c#提高程序性能
摘要:如何提高程序性能以前看cpp代码优化时,见一个做网络的前辈做了个总结,我一直印象深刻,特转帖如下:真正高性能的程序设计: more small, more fast more simple, more fast现代计算机的体系,速度往往取决于CPU cache 的命中情况。因此,更小、更简单的代码往往会获得更好的性能。-- 删除冗余代码,和一般理解相反,放在那里不动的代码即使没有使用也会影响系统的性能。-- 不要低估或者高估编译器的优化,除了代码本身所能提供的信息以外,编译器永远不知道你到底要做什么。-- 不要梦想复用,在代码级重复使用你代码的可能性接近于0-- 层层的封装是效率的杀手-- 动
阅读全文
posted @
2011-08-16 15:44
荣京
阅读(458)
推荐(0)