随笔分类 -  性能优化

性能优化
[转]找出性能差的语句
摘要:[转]找出性能差的语句1 找出效率低的语句SELECTTOP10 qs.total_worker_time,qs.total_logical_reads,qs.last_logical_writes,qs.plan_handle, qs.execution_count, (SELECTSUBSTRING(text,qs.statement_start_offset/2+1, (CASEWHENqs.statement_end_offset=-1 THENLEN(CONVERT(nvarchar(max),text))*2 ELSEqs.statement_end_offset END-qs.s 阅读全文
posted @ 2013-11-11 17:33 wavegui 阅读(266) 评论(0) 推荐(0)
Nginx源码分析-内存池
摘要:Nginx的内存池实现得很精巧,代码也很简洁。总的来说,所有的内存池基本都一个宗旨:申请大块内存,避免“细水长流”。 一、创建一个内存池 nginx内存池主要有下面两个结构来维护,他们分别维护了内存池的头部和数据部。此处数据部就是供用户分配小块内存的地方。 //该结构用来维护内存池的数据块,供用户分配之用。 阅读全文
posted @ 2012-03-19 12:33 wavegui 阅读(687) 评论(0) 推荐(0)
.NET性能优化方面的总结(转)
摘要:1. C#语言方面 1.1 垃圾回收  垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意。  1.1.1 避免不必要的对象创建  由于垃圾回收的代价较高,所以C#程序开发要遵循的一个基本原则就是避免不必要的对象创建。以下列举一些常见的情形。  1.1.1.1 避免循环创建对象 ★  如果对象并不会随每次循环而改变状态,那么在循环中反复创建对象将带来性能损耗。高效的做法是将对象提到循环外面创建。  1.1.1.2 在需要逻辑分支中创建对象  如果对象只在某些逻辑分支中才被用到,那么应只在该逻辑分支中创建对象。  1.1.1.3 使用常量避免创建对象  程序中不应出现如 new Decimal(0) 之类的代码,这会导致小对象频繁创建及回收,正确的做法是使用Decimal.Zero常量。我们有设计自己的类时,也可以学习这个设计手法,应用到类似的场景中。  1.1.1.4 使用StringBuilder做字符串连接 阅读全文
posted @ 2012-02-20 21:25 wavegui 阅读(694) 评论(3) 推荐(1)