2005年12月20日 星期二 09:21
import time class A: def show(self): print "A::show" obj = A() def f(): for i in range(100): obj.show() def g(): func = obj.show for i in range(100): func() start = time.time() f() end = time.time() print "time of f() is ", end-start start = time.time() g() end = time.time() print "time of g() is ", end-start f和g完成的功能是一样的,猜一猜它们各自的运行时间是多少?在我的机器上,f的运行时间为0.11,而g的运行时间为0.05。 诚然f与g是不同的,然而仅仅的一点不同为何会引起效率如此显著的变化呢?这正是《Python源码剖析》所要关注的焦点。我希望《Python源码剖析》能"从Python源码中来,到Python应用中去",使Python用户能最好,最有效地使用Python。当然,对于对动态语言实现感兴趣的人,《Python源码剖析》也是一个非常好的起点。 在我的计划中《Python源码剖析》将分四个部分陆续开放: 1.Python的对象体系 2.Python的字节码解释器 3.Python的初始化环境与Import机制 4.Python的编译过程 目前已经开始开放第一部分,请关注http://blog.donews.com/lemur/ 欢迎大家一起讨论,共同进步 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20051220/4dce59b9/attachment.html
2005年12月20日 星期二 11:36
test On 12/20/05, Robert Chen <search.pythoner at gmail.com> wrote: > > import time > class A: > def show(self): > print "A::show" > > obj = A() > def f(): > for i in range(100): > obj.show() > > def g(): > func = obj.show > for i in range(100): > func() > > start = time.time() > f() > end = time.time() > print "time of f() is ", end-start > start = time.time() > g() > end = time.time() > print "time of g() is ", end-start > f和g完成的功能是一样的,猜一猜它们各自的运行时间是多少?在我的机器上,f的运行时间为0.11,而g的运行时间为0.05。 > > 诚然f与g是不同的,然而仅仅的一点不同为何会引起效率如此显著的变化呢?这正是《Python源码剖析》所要关注的焦点。我希望《Python源码剖析》能"从Python源码中来,到Python应用中去",使Python用户能最好,最有效地使用Python。当然,对于对动态语言实现感兴趣的人,《Python源码剖析》也是一个非常好的起点。 > > 在我的计划中《Python源码剖析》将分四个部分陆续开放: > 1.Python的对象体系 > 2.Python的字节码解释器 > 3.Python的初始化环境与Import机制 > 4.Python的编译过程 > > 目前已经开始开放第一部分,请关注http://blog.donews.com/lemur/ > > 欢迎大家一起讨论,共同进步 > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20051220/9f305564/attachment.html
Zeuux © 2025
京ICP备05028076号