- 博客(6)
- 资源 (29)
- 收藏
- 关注
原创 延长处理对python性能的影响
Python代码 #! /bin/usr/env python # -*- coding:utf-8 -*- import time #统计方法执行的时间 def count_time(func): def wrap(*args): start = time.time() func(*args) end = time.time() print "func:%s time:(%0.3f ms
2011-05-26 15:41:00 711
原创 python 线程池
<br />一个老外的开源项目中用的线程池代码,总共有 task, workthread, threadpool三大部分。不太清楚的是你说的queue是什么lib?Python代码 import threading class WorkerTask(object): """A task to be performed by the ThreadPool.""" def __init__(self, function, args=(), kwargs={}):
2011-05-26 14:32:00 1241
原创 Python垃圾回收(gc)拖累了程序执行性能
浅谈Python垃圾回收机制<br />在使用C语言开发时代,我们的开发效率(生产力的问题)受牵制于内存释放、泄露等问题,于是普遍的口号---“指针好难学”。时过境迁,当今的流行的语言都配套了内存自动回收机制,从而使我们有更多的精力去纠结于业务上处理。<br />常用的垃圾回收(GC)算法有这几种引用计数(Reference Count)、Mark-Sweep、Copying、分代收集。在Python中使用的是前者引用计数,工作原理:为每个内存对象维护一个引用计数。因此得知每次内存对象的创建与销毁都必须修改
2011-05-26 10:45:00 8606 1
转载 用mysqldumpslow分析mysql的slow query log
<br />mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在mysql启动的时候加入一些参数。如果在my.cnf里面修改,需增加如下几行<br />long_query_time = 1<br />log-slow-queries = /var/youpath/slow.log<br />log-queries-not-using-indexes<br />long_query_time 是指执行超过多久的sql会被log下来
2011-05-26 09:47:00 594
转载 python 多线程例子
1 简单的线程同步。 使用Thread对象的Lock和Rlock可以实现简单的线程同步,这两个对象都有acquire方法和release方法,对于那些需要每次只允许一个线程操作的数据,可以将其操作放到acquire和release方法之间。如下:import threadingimport timeclass mythread(threading.Thread): def __init__(self,threadname): threading.Thread.__init__(sel
2011-05-26 09:21:00 762
原创 python 线程,GIL 和 ctypes(转)
1 GIL 与 Python 线程的纠葛 GIL 是什么东西?它对我们的 python 程序会产生什么样的影响?我们先来看一个问题,运行下面这段 python 程序,CPU 占用率会到多少: # 请勿在工作中模仿,危险:)def dead_loop(): while True: passdead_loop() 答案是什么呢,占用 100% CPU?那是单核!还得是没有超线程的古董 CPU。在我的双核 CPU 上,这个死循环只会吃掉我一个核的工作负荷,也就是只占用 50% CPU。那如何能
2011-05-13 12:05:00 686
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人