纯 ASCII 字符串的 unicodedata.normalize(),提升到常数时间对于 unicodedata.normalize() 方法,如果提供的入参是纯 ASCII 字符串,则通过 unicode 快速检查算法 迅速返回结果 。这项检查使用的是PyUnicode_IS_ASCII
实现 。
Python 3.10:
$ python -m pyperf timeit -s \'import unicodedata' -- 'unicodedata.normalize("NFC", "python")'.....................Mean +- std dev: 83.3 ns +- 4.3 ns
Python 3.11:
$ python -m pyperf timeit -s \'import unicodedata' -- 'unicodedata.normalize("NFC", "python")'.....................Mean +- std dev: 34.2 ns +- 1.2 ns
最后的话:
- 我写这篇文章是为了加深自己对 Python 3.11 最新成果的认识 。如果内容有错,请通过email 或者 Twitter告诉我 。(译注:本翻译是出于促进自己学习及加强理解的目的,若有错漏,欢迎指正!)
- 附 HackerNews 上的评论
- 在下一篇文章中,我将分析 faster CPython 项目带来的优化点 。敬请期待!
经验总结扩展阅读
- 蛋糕粉可以做什么
- 微信好友删除了怎么找回(微信注销60天后警察还能查到吗)
- 只知道微信昵称删除了对方怎么找对方(彻底删除对方微信)
- 微信删除好友怎么找回(微信已经实行双向删除了吗)
- 哪些星座男女需要爱情保鲜?
- 五月初五什么节干什么 端午节除了吃粽子还有哪些风俗
- 端午节为何要吃咸鸭蛋 端午节除了吃粽子还有哪些风俗
- 金针菇放冰箱有点发黄
- 什么菜适合放蚝油
- 2023淘宝双十二过后还有什么活动 除了双十二过年网购还有活动吗