-
Notifications
You must be signed in to change notification settings - Fork 31
性能表现
nukemiko edited this page Feb 10, 2023
·
1 revision
由于 Python 语言自身原因,而 LibTakiyasha 又是纯 Python 实现,所以相较于同类项目,运行速度较慢。以下是针对常用操作做的一些性能测试结果:
操作 | 测试大小 | Python 3.10.9 (CPython) | Python 3.8.12 (Pyston 2.3.5) | Python 3.9.16 (PyPy 7.3.11) |
---|---|---|---|---|
NCM 加密 | 36.8 MiB | 4.159s | 2.159s | 1.366s |
NCM 解密 | 36.8 MiB | 4.393s | 2.360s | 1.480s |
QMCv1 加密 | 36.8 MiB | 3.841s | 2.116s | 1.594s |
QMCv1 解密 | 36.8 MiB | 3.813s | 2.331s | 1.406s |
QMCv2 掩码加密 | 36.8 MiB | 4.065s | 2.201s | 1.727s |
QMCv2 掩码解密 | 36.8 MiB | 3.990s | 2.200s | 1.848s |
QMCv2 RC4 加密 | 36.8 MiB | 12.820s | 5.596s | 2.717s |
QMCv2 RC4 解密 | 36.8 MiB | 12.588s | 5.913s | 2.552s |
KGM 解密 | 64.4 MiB | 49.014s | 22.053s | 8.376s |
VPR 解密* | 87.9 MiB | 70.030s | 32.252s | 11.902s |
* 根据此处,KGM 和 VPR 解密算法有更快的实现,但还未在 LibTakiyasha 中实现;这也是 LibTakiyasha 下一个版本的目标。
一般情况下,建议通过官方解释器实现(CPython)使用 LibTakiyasha。
如果你对速度有要求,可以考虑通过 PyPy/Pyston 解释器使用 LibTakiyasha,或者直接换用同类项目。