Tag: python python internals

为什么有些浮点<整数比较比其他四倍慢?

当将浮点数与整数相比较时,某些值对需要比其他类似的值更长的时间才能被评估。 例如: >>> import timeit >>> timeit.timeit("562949953420000.7 < 562949953421000") # run 1 million times 0.5387085462592742 但是,如果浮点数或整数大于或等于一定值,则比较运行速度要快得多: >>> timeit.timeit("562949953420000.7 < 562949953422000") # integer increased by 1000 0.1481498428446173 >>> timeit.timeit("562949953423001.8 < 562949953421000") # float increased by 3001.1 0.1459577925548956 更改比较运算符(例如,使用==或> )不会以明显的方式影响时间。 这并不仅仅与数量有关,因为select更大或更小的值可能会导致更快的比较,所以我怀疑是不幸的,这些比特排列起来。 显然,比较这些值对于大多数用例而言足够快。 我只是好奇,为什么Python似乎与其他一些值的斗争更多的价值。