我一直在开发一个Python库,它使用C扩展模块来执行ISO 8601解析。
这项工作的一部分需要创建tzinfo对象,这是迄今为止解析过程中最慢的部分。对tzinfo的Python实现(目前是pytz.FixedOffset
)的调用太慢了。
在Python3.7中,datetime.timezone
最终向C-API公开。我的代码利用了它,并通过使用C实现而不是Python实现获得了巨大的性能提升。我很想找到一个类似的C实现,我可以将其用于Python < 3.6。也许是3.7的datetime.timezone
的“后端口”
我见过许多tzinfo的Python实现(pytz
、datetuil.tz
、django.utils.timezone
、psycopg2.tz
),但没有一个是用C语言实现的。
除了datetime.timezone
之外,还有tzinfo
的C实现吗?
发布于 2018-06-09 08:12:49
在进一步搜索之后,我最终找到了一个用Pendulum's low level ISO 8601 parser实现的代码。
编辑:此实现最终在my backport of datetime.fromisoformat
中使用
https://stackoverflow.com/questions/50336229
复制相似问题