大家或许知道,Python 为了提高内存的利用效率,采用了一套共用对象内存的分配策略. 例如,对于那些数值较小的数字对象([-5, 256]).布尔值对象.None 对象.较短的字符串对象(通常 是 20)等等,字面量相等的对象实际上是同一个对象. # 共用内存地址的例子 a = 100 b = 100 s = "python_cat" t = "python_cat" id(a) == id(b) # 结果:True id(s) == id(t) # 结果:Tru…
Python在性能方面不卓越,但是使用一些小技巧,可以提高Python程序的性能,避免不必要的资源浪费. 1. 使用局部变量 尽可能使用局部变量替代全局变量,可以是程序易于维护并且有助于提高性能节约成本. 2. 减少函数调用的数量 当需要确定对象类型时,使用isinstance()方法最好,id()次之,type()最差. 为了避免重复计算,不要把重复操作作为参数放入循环中. 3. 使用映射来替换条件搜索 映射(例如dict,等等)的搜索速度比条件语句(例如if,等等)快很多.在Python中没…
paip. 提升性能---hibernate的缓存使用 总结 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/attilax 除了延迟加载.迫切外连接.查询过滤等,可以使用在的内存缓存比如memcache Hibernate缓存分为二级,第一级存放于session中称为一级缓存,默认带有且不能卸载.   第二级是由sessionFactory控制的进程级缓存.是全局共享的缓存,凡是会调用…
paip.提升性能----数据库连接池以及线程池以及对象池 目录:数据库连接池c3po,线程池ExecutorService:Jakartacommons-pool对象池 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax //////////为什么要使用数据库连接池 建立连接是一个费时的活动,每次都得花费0.05s-1s的时间,而且系统还要分配内存资源. 对于共享资源,有一个…
paip.提升性能----java 无锁结构(CAS, Atomic, Threadlocal, volatile, 函数式编码, 不变对象) 1     锁的缺点 2     CAS(CompareAnd Swap/Set)操作automic数据类型AtomicLong,AtomicReference(Java提供的CAS操作) 3     Threadlocal 4     内存屏障(MemoryBarries)和(javavolatile)代替传统lock. 5     . Disrupt…
原文地址 :http://blog.jobbole.com/47619/ 虽然不是所有的Python程序都需要严格的性能分析,不过知道如何利用Python生态圈里的工具来分析性能,也是不错的. 分析一个程序的性能,总结下来就是要回答4个问题: 它运行的有多快? 它的瓶颈在哪? 它占用了多少内存? 哪里有内存泄漏? 接下来,我们会着手使用一些很棒的工具,来帮我们回答这些问题. 粗粒度的计算时间 我们先来用个很快的方法来给我们的代码计时:使用unix的一个很好的功能 time. 1 2 3 4 5…
    在SQL Server中,SQL语句的执行是依赖查询优化器生成的执行计划,而执行计划的好坏直接关乎执行性能.     在查询优化器生成执行计划过程中,需要参考元数据来尽可能生成高效的执行计划,因此元数据越多,则执行计划更可能会高效.所谓需要参考的元数据主要包括:索引.表结构.统计信息等,但还有一些不是很被注意的元数据,其中包括本文阐述的Check约束.     查询优化器在生成执行计划之前有一个阶段叫做代数树优化,比如说下面这个简单查询:         图1.简单查询       查询…
paip.提升性能--多核cpu中的java/.net/php/c++编程 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/attilax ////////////////目前情况 需要一个处理50w行的文件,按行进行分词..需要50s才能完成.. 经过调试,瓶颈在这个代码上... TokenStream ts = Analyzer.tokenStream("", reader…
 Android ViewPager Fragment使用懒加载提升性能 Fragment在如今的Android开发中越来越普遍,但是当ViewPager结合Fragment时候,由于Android ViewPager内在的加载机制,导致一个比较严重的加载性能问题,具体来说,假设一个ViewPager中有n多个Fragment,那么ViewPager在初始化阶段将一次性的初始化FragmentPagerAdapter中的至少3个Fragment(如果Fragment多于3),创建和加载Fra…
paip.提升性能---mysql 优化cpu多核以及lan性能的关系. 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax //////环境 双核2.9g , 内存2g  ,XPSP2 mysql5.6 ,myisam 50W数据insert,需要50s...平均1w/s的速度了.呵. /////cpu多核大幅提升mysql性能 传输myisam,10w数据.20连接.. 在…