TGTGInsighttelegram intelligenceLIVE / telegram public index
← 世界观察日志
世界观察日志 avatar

TGINSIGHT POST

Post #72

@WorldObservationLog

世界观察日志

Views1,640帖子阅读量
发布7月15日2022/07/15 07:22
Post content

帖子内容

近期开发的一些经验总结: - 在进行性能分析之前不要想当然的优化 项目里面我造了一个HTML分页器的轮子,用了BeautifulSoup。一开始性能差得吓人,十万字的HTML要分整整150s。处理过程中以为是BS的问题,解析器换成lxml并使用cchardet之后性能提升也十分有限。用cProfile跑了一下发现 list.index 方法占用了146s😅浪费了我三天的时间。 - 谨慎使用 list.index Python中的 list.index 似乎是直接遍历查找,时间复杂度为O(n),导致性能这块拉了大胯(更别提我在一个上万次的循环里面用 index 😁) - function.cache 是好文明 这个装饰器实在是好用,我恨不得把项目里面的所有函数都给加一个。简而言之,function.cache 通过缓存函数的返回值并在第二次调用时跳过执行直接返回结果来加快函数的执行。因此对于耗时较长而结果通常没有变化的操作(I/O等)可以用这个修饰器来优化。 - 小心附加调试器 附加调试器会小幅度地拖慢程序执行,在性能测试的时候别开