python 时间比较 效率_Python时间库性能比较

本文对比了Python中datetime、Arrow、Pendulum、Delorean和udatetime等时间库的性能,通过四个典型指标:时间字符串解析、序列化、UTC和本地时间实例化。结果显示,udatetime在性能上显著优于其他库,尤其是在PyPy环境中。对于需要频繁解析时间字符串的场景,udatetime的速度比datetime快4倍,而Arrow、Pendulum和Delorean则分别慢16倍、19倍和20倍。选择时间库时,应考虑其对程序性能的影响。
摘要由CSDN通过智能技术生成

Python datetime库的主要替代者都有着相似的目标,易用/简单/用户友好.这些目标很赞,我很喜欢这些替代库,所以我投入了大量的精力去研究它们.这里我想研究的是,使用这些替代库会对程序的性能产生什么样的影响?

为什么要担心时间库的性能?因为时间库的使用无处不在.大量使用时间库的Web服务/数据库/数据处理程序,都对性能的要求十分苛刻.想想如果你正在为提高每秒请求数而发愁,而这时引进了一个库让性能下降了一半,我相信你一定会考虑换一个替代品的.

那些抱着"如果要效率,那你为什么用Python?"这样想法的人,一定没有听说过PyPy,不知道当今的Python程序的效率已经被优化到了何种程度.

我设置了一个标准来比对Python是时间库的替代品,datetime, Arrow, Pendulum, Delorean 和 udatetime.我选择了4个典型的性能指标来测量这些库的效率.解析一个时间字符串

序列化一个时间字符串

在UTC时间下实例化当前时间的对象

在本地时间下实例化当前时间的对象

在UTC时间下从时间戳计算一个时间的对象

在本地时间下从时间戳计算一个时间的对象

坦率地说,udatetime这个库的主要目的就是优化性能.这里把它拉进来做对比,是为了展示性能优化可以做到什么程度.

这个性能测试的执行环境是Python2.7, PyPy和Python3.5.测试代码每轮会被运行一百万次,结果取3轮的最小值.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值