有什么方法可以加速Python long int 按位运算吗?

jf3*_*328 5 python bit-manipulation

我正在用Python编写一个国际象棋程序,我使用python-chess进行棋盘表示和移动生成等。它通常非常好并且具有非常有用的功能。

然而,由于它是纯Python,它现在是我的AI的瓶颈。Python长整型及其按位运算在模块中被广泛使用,例如

x = b & -b
b ^= x

if not x & 0xffffffff:
    x >>= 32
    r |= 32
Run Code Online (Sandbox Code Playgroud)

无论如何,有没有办法通过其他模块来加速Python中的这种操作?是否可以不用 C 或 Fortran 重写?我尝试了numba包,但它似乎无法编译python long int。

非常感谢。

use*_*262 2

尝试使用这个包: https: //pypi.python.org/pypi/bitarray

它是 C 代码的 Python 接口,旨在加速按位运算。