20240603 -
引言
日常python开发中,字符串部分经常有一些api,例如startswith。日常使用过程,肯定是没有什么问题了。但是,最近在开发中发现,因为长时间使用了这类api,就思考了一下是不是能提升性能。
例如,startswith和直接做切片进行比较哪个速度更快呢?
性能差异
问答[1][2]中都以startswith作为了比较对象,分别比较了直接切片和in函数。
从上述两个部分,有很多部分的差异性需要考虑:
1)python可能对某些内置函数进行了优化
2)本身执行startswith就需要把他作为函数来执行,这个部分自身有消耗
在问答[2]中,也直接说明了如果直接使用__contains__
这种函数 ,可能性能也差不多。
参考
[1]Why is startswith slower than slicing
[2]Why is string’s startswith slower than in?