游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

监控Python内存使用情况和代码执行时间

  我的代码的哪些部分运行时间最长、内存最多?我怎样才能找到需要改进的地方?
  在开发过程中,我很确定我们大多数人都会想知道这一点,而且通常情况下存在开发空间。在本文中总结了一些方法来监控Python代码的时间和内存使用情况。
  本文将介绍4种方法,前3种方法提供时间信息,第4个方法可以获得内存使用情况。time模块time魔法命令lineprofilermemoryprofilertime模块
  这是计算代码运行所需时间的最简单、最直接(但需要手动开发)的方法。他的逻辑也很简单:记录代码运行之前和之后的时间,计算时间之间的差异。这可以实现如下:
  importtime
  starttimetime。time()
  result52
  endtimetime。time()
  print(Timetaken{}sec。format(endtimestarttime))
  下面的例子显示了for循环和列表推导式在时间上的差异:importtimeforloopvs。listcomplistcompstarttimetime。time()result〔iforiinrange(0,1000000)〕listcompendtimetime。time()print(Timetakenforlistcomp{}sec。format(listcompendtimelistcompstarttime))result〔〕forloopstarttimetime。time()foriinrange(0,1000000):result。append(i)forloopendtimetime。time()print(Timetakenforforloop{}sec。format(forloopendtimeforloopstarttime))listcomptimelistcompendtimelistcompstarttimeforlooptimeforloopendtimeforloopstarttimeprint(Difference{}。format((forlooptimelistcomptime)listcomptime100))
  我们都知道for会慢一些Timetakenforlistcomp0。05843973159790039secTimetakenforforloop0。06774497032165527secDifference15。922795107582594time魔法命令
  魔法命令是IPython内核中内置的方便命令,可以方便地执行特定的任务。一般情况下都实在jupyternotebook种使用。
  在单元格的开头添加time,单元格执行完成后,会输出单元格执行所花费的时间。timedefconvertcms(cm,unitm):Functiontoconvertcmtomorfeetifunitm:returncm100returncm30。48convertcms(1000)
  结果如下:CPUtimes:user24s,sys:1s,total:25sWalltime:28。1sOut〔8〕:10。0
  这里的CPUtimes是CPU处理代码所花费的实际时间,Walltime是事件经过的真实时间,在方法入口和方法出口之间的时间。lineprofiler
  前两个方法只提供执行该方法所需的总时间。通过时间分析器我们可以获得函数中每一个代码的运行时间。
  这里我们需要使用lineprofiler包。使用pipinstalllineprofiler。importlineprofilerdefconvertcms(cm,unitm):Functiontoconvertcmtomorfeetifunitm:returncm100returncm30。48LoadtheprofilerloadextlineprofilerUsetheprofilersmagictocallthemethodlprunfconvertcmsconvertcms(1000,f)
  输出结果如下:Timerunit:1e06sTotaltime:4e06sFile:varfoldersyff7m0c146ddrrmctd4vpkh0000gnTipykernel22452382784489。pyFunction:convertcmsatline1LineHitsTimePerHitTimeLineContents1defconvertcms(cm,unitm):23Functiontoconvertcmtomorfeet4512。02。050。0ifunitm:6returncm100712。02。050。0returncm30。48
  可以看到lineprofiler提供了每行代码所花费时间的详细信息。LineContents:运行的代码Hits:行被执行的次数Time:所花费的总时间(即命中次数x每次命中次数)PerHit:一次执行花费的时间,也就是说TimeHitsXPerHitTime:占总时间的比例
  可以看到,每一行代码都详细的分析了时间,这对于我们分析时间相当的有帮助。memoryprofiler
  与lineprofiler类似,memoryprofiler提供代码的逐行内存使用情况。
  要安装它需要使用pipinstallmemoryprofiler。我们这里监视convertcmsf函数的内存使用情况fromconversionsimportconvertcmsfimportmemoryprofilerloadextmemoryprofilermprunfconvertcmsfconvertcmsf(1000,f)
  convertcmsf函数在单独的文件中定义,然后导入。结果如下:LineMemusageIncrementOccurrencesLineContents163。7MiB63。7MiB1defconvertcmsf(cm,unitm):23Functiontoconvertcmtomorfeet4563。7MiB0。0MiB1ifunitm:6returncm100763。7MiB0。0MiB1returncm30。48
  memoryprofiler提供对每行代码内存使用情况的详细了解。
  这里的1MiB(MebiByte)几乎等于1MB。1MiB1。0485761MB
  但是memoryprofiler也有一些缺点:它通过查询操作系统内存,所以结果可能与python解释器略有不同,如果在会话中多次运行mprun,可能会注意到增量列报告所有代码行为0。0MiB。这是因为魔法命令的限制导致的。
  虽然memoryprofiler有一些问题,但是它就使我们能够清楚地了解内存使用情况,对于开发来说是一个非常好用的工具总结
  虽然Python并不是一个以执行效率见长的语言,但是在某些特殊情况下这些命令对我们还是非常有帮助的。
  作者:Rishikeshavan

五一小长假催热房车租赁五一租车多少钱一天在这个即将到来的小长假,到处都是难,买票难,出游难,租车也难,现在竟然连房车都没有了,这真的是难上加难。五一小长假催热房车租赁开着房车去旅行,已经成了不少人出游的新方式。……北京降温了,煮一锅广式甜品番薯糖水,还是喜欢这个配方北京降温了,天气突然降了十几度,零下的温度就感觉冷了不少。新租的房子密封不太少,到了冬天外边刮大风,屋里刮小风,伴着尘土的味道,特别的不舒服。这时候我就会煲点甜汤喝,补充水分,……开车犯困六个妙招帮你提神为什么开车容易犯困疲劳驾驶是最危险的一件事情,每年我国有很多起交通事故的原因就是因为疲劳驾驶造成的,那么开车的时候犯困了怎么办?该如何解决?如何快速提神恢复精力?开车犯困六个妙招帮你提神1……衡量幸福的标准是找到真理,遵守真理你觉得什么才是衡量幸福的唯一标标准衡量幸福的标准是找到真理,遵守真理,开放式纠错的生活就是最幸福的。人其实是有限、有罪、无力、无知、无耻的存在。因为人的理性有……润康什么时候吃最好?怀孕不同时候的作用不同润康主要是补充补充亚麻酸、卵磷脂等等,是孕期的营养来源,除此之外,还有维生素等等成分,可以说是黄金素一样的存在了,那么,润康什么时候吃最好润康什么时候吃最好1、最佳服用量……恩里克揽责罚点3人我选的!西班牙统治比赛,不进攻的队却赢了在北京时间12月7日凌晨结束的世界杯18决赛一场焦点战中,西班牙在常规时间120分钟内与摩洛哥战成00,在点球大战中,03输给摩洛哥,在2010年夺得世界杯冠军后,已经连续3届……菏泽鲁西新区扭住项目建设牛鼻子持续增强发展新动能初冬时节,天气渐寒,菏泽鲁西新区大地上项目建设正酣,处处涌动着发展的热潮。项目建设是发展之本、强市之基、富民之源,作为全市经济发展的主战场,以高质量项目建设推进高质量发展是鲁西……卸下了农民伪装的旭日阳刚,走到今天这一步究竟该怪谁?前言:两个怀揣着音乐梦想的年轻人,通过网络相识走到了一起,这才有了旭日阳刚这个组合,而当时他们还参加了爆红的综艺节目星光大道,让他们一跃成为总决赛的亚军选手,以此正式出道……放暑假去哪里玩好?暑假去哪里玩比较凉快?暑假的来临让许多学子们都马上进入最佳暑假状态,暑假天气火热的地区在家实在难以忍受那酷暑,而两个月的长假可以去自己任意想去的地方,所以很多学生想去旅游,去凉快的地区旅游放松身心,……湖湘文化是中华民族的脊梁深圳头条得月楼游历丽江古城黑龙潭,那水中的大理石玉带桥,若长虹卧波,与玉带桥隔着一方碧波,在波光粼粼的湖面之上竟挺立着一座金顶耀日,檐牙啄云,彩绘缤纷、缕雕传神的三层楼阁,这就是……华为MatePad11推出8GB256GBWIFI版,售价3IT之家11月21日消息,华为MatePad11近日在电商平台上新了8GB256GBWIFI版,只有曜石灰和夏日胡杨两个配色可选,售价3399元。作为对比,华为MateP……口臭吃什么食物好什么原因导致口臭口臭的很大部分原因是因为吃了一些有异味的食物导致,口臭在饮食方面也是需要注意的,预防口臭可以多吃一些清热解毒降火的水果蔬菜。口臭吃什么食物好1、蜂蜜:蜂蜜1匙,取温开水1……
汤神让出首发位置吧,普尔与库里更搭,科尔应该拿出魄力破釜沉舟勇士,最近的20场比赛,当普尔和克莱同时出手20次以上时,球队5战5败。这5场比赛,克莱命中率为40,三分命中率为35。5。普尔命中率为43。6,三分命中率为36。7。相比之下……哈苏907X50C体验66979元工艺品级别的中画幅相机哈苏,一个伴随着人类登月的相机品牌,旗下有多款中画幅相机,各具特色,我们今天给大家带来哈苏907X50C的体验。哈苏907X50C是2019年夏季发布的产品,它由907X机身、……瓦塞尔一些记者在周冠宇F1职业生涯早期缺乏尊重阿尔法罗密欧F1车队领队弗雷德里克瓦塞尔说,他认为一些记者在周冠宇F1职业生涯开始时对他非常侮辱,因为有人猜测他是因为会带来赞助而被签下的。同时,瓦塞尔还表示,周冠宇非常有团队……勇士21分大逆转爵士!普尔汤神67分,维金斯觉醒,科尔用人太北京时间4月3号勇士和爵士的比赛,这场比赛库里依然没有复出,不过在末节,爵士接近6分钟没有得分,而且勇士凭借汤普森和普尔的爆发,就此逆转爵士,拿下了最终的胜利。别忘了,这场比赛……索尼推出全新ampampquotInzoneampampqu索尼(Sony)旗下有各种各样的数码电子产品,游戏硬件是其中一大品类。今天索尼公布了全新的Inzone系列游戏硬件产品,包括三种头戴式耳机和2种游戏显示屏。据悉这是专门面向PC……夺冠ampampamp结婚双喜临门,赵汝亮赵爽续写台坛伉俪佳2022年6月28日,赵汝亮与赵爽新婚礼成。热恋多年,这对因中式台球结缘的有情人终成眷属!鸳鸯比翼日相亲,天成佳偶是知音。进入婚姻殿堂,标志着一个男孩正式蜕变为一个真正的……女排冠军曾春蕾晒幸福!高富帅老公抱孩子有模有样,儿子长相可爱虽然今年春天暖意来的要晚一些,但是趁着春色去踏青也是不得错的选择,最近的中国前女排球员曾春蕾和丈夫,带着可爱的孩子去古镇游玩。从中国女排球队退役之后,曾春蕾就把重心放在了生活中……对我来说机场休息室也是品质出行的一部分今天想分享一件有趣的事,将来你有可能用上。我记得,以前不止一次吐槽过三亚凤凰机场的贵宾休息室服务。如此热门、著名的旅游度假地,现有几处机场休息室的腔调,实在与之不够……西部第11,湖人或彻底无缘季后赛,三巨头真的要拆散了湖人输给了独行侠之后也是掉到了西部第十一的位置,这也是让湖人队暂时的无缘附加赛的资格。而湖人队接下来的赛程,还有詹姆斯脚踝的伤势,这几乎是给如今的湖人队踢出了季后赛。本赛……封校大学生宿舍内翻拍浓缩版甄嬛传,网友救命被笑死了近日,山东济南的王同学与室友们翻拍甄嬛传的视频在网上走红。视频说,王同学和她的三个室友们分别扮演了甄嬛传里面不同的角色,并且将甄嬛传全集浓缩到了一分钟。王同学也融入了大量关于甄……iPhone14相关信息曝光标准版用A15芯片,Pro版用A最新的爆料显示,苹果将为新iPhone14迭代带来不同的芯片搭载。只有iPhone14Pro系列的机型能够配备新一代A16芯片,而定位稍低的iPhone14系列将保留iPhon……景甜身材好又会穿,露脐卫衣配牛仔裤走机场,洋气又时髦春暖花开之后万象更新,身材好的小姐姐们也开始慢慢的尝试一些秀身材的单品了,尤其是在女明星们身上,这种大胆的露肤单品在机场当中的上身率是非常高的,女明星景甜穿短款的露脐卫衣搭配上……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网