Python绑定Rust的UUID库。
项目描述
FastUUID是一个库,它提供了对Rust的UUID库的CPython绑定。
提供的API与Python内置的UUID类完全相同。
它支持Python 3.7、3.8、3.9、3.10和3.11。
为什么?
它的速度比Python的纯Python实现快得多,并且在解析UUID的十六进制表示时更加严格。
如果您需要生成大量的随机UUID,我们还提供了uuid4_bulk()函数,它在生成整个过程中释放GIL。这允许其他线程在库生成UUID时运行。
基准测试
处理器 |
机器 |
Python编译器 |
Python实现 |
Python实现版本 |
Python版本 |
Python构建 |
发布 |
系统 |
cpu |
---|---|---|---|---|---|---|---|---|---|
x86_64 |
x86_64 |
GCC 5.5.0 |
CPython |
3.7.2 |
3.7.2 |
默认 |
4.15.0-50-generic |
Linux |
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz |
名称 |
最小值 |
最大值 |
平均值 |
标准差 |
中位数 |
四分位数范围 |
异常值 |
操作 |
轮次 |
迭代 |
---|---|---|---|---|---|---|---|---|---|---|
tests/test_benchmarks.py::test_parse_bytes_fastuuid |
8.770148269832134e-07 |
3.0054012313485146e-05 |
9.848993185755912e-07 |
6.654121944953314e-07 |
9.530049283057451e-07 |
2.6979250833392143e-08 |
515;8080 |
1015332.2082162144 |
149366 |
1 |
tests/test_benchmarks.py::test_parse_bytes_uuid |
9.00006853044033e-07 |
2.4181994376704097e-05 |
1.0102117337399724e-06 |
6.361040394445994e-07 |
9.739887900650501e-07 |
3.899913281202316e-08 |
1130;10702 |
989891.4916557473 |
198020 |
1 |
tests/test_benchmarks.py::test_parse_bytes_le_fastuuid |
9.00996383279562e-07 |
2.4662993382662535e-05 |
1.0116569599011118e-06 |
5.687526428398989e-07 |
9.840005077421665e-07 |
2.200249582529068e-08 |
703;9368 |
988477.3590622543 |
163052 |
1 |
tests/test_benchmarks.py::test_parse_bytes_le_uuid |
1.348991645500064e-06 |
3.5200006095692515e-05 |
1.5184524591452776e-06 |
9.295692916442362e-07 |
1.448992406949401e-06 |
3.897002898156643e-08 |
1620;12511 |
658565.2346092485 |
170271 |
1 |
tests/test_benchmarks.py::test_parse_fields_fastuuid |
9.819923434406519e-07 |
3.2625976018607616e-05 |
1.217285795660234e-06 |
1.0234898538816672e-06 |
1.087988493964076e-06 |
6.702612154185772e-08 |
3199;12487 |
821499.7690477591 |
143844 |
1 |
tests/test_benchmarks.py::test_parse_fields_uuid |
1.1137977708131076e-06 |
0.000147809402551502 |
1.2054474234359692e-06 |
5.093104655522965e-07 |
1.144595444202423e-06 |
6.060581654310231e-08 |
2304;5896 |
829567.4954861335 |
167983 |
5 |
tests/test_benchmarks.py::test_parse_hex_fastuuid |
9.870273061096668e-07 |
2.906599547713995e-05 |
1.11212962918218e-06 |
6.906885628642859e-07 |
1.0759977158159018e-06 |
3.0995579436421394e-08 |
577;8272 |
899175.7559191765 |
143288 |
1 |
tests/test_benchmarks.py::test_parse_hex_uuid |
1.3360113371163607e-06 |
2.6262016035616398e-05 |
1.4448148991822913e-06 |
7.064083638385458e-07 |
1.3989920262247324e-06 |
2.9016518965363503e-08 |
679;4802 |
692130.1826039868 |
82156 |
1 |
tests/test_benchmarks.py::test_parse_int_uuid |
5.448004230856896e-07 |
4.164349229540676e-06 |
6.099919819231937e-07 |
2.0401652680352933e-07 |
5.548994522541762e-07 |
4.430039552971725e-08 |
3607;3925 |
1639365.8107557097 |
87951 |
20 |
tests/test_benchmarks.py::test_parse_int_fastuuid |
8.950009942054749e-07 |
4.946498665958643e-05 |
1.0105578493921953e-06 |
6.873330198387691e-07 |
9.739887900650501e-07 |
2.1012965589761734e-08 |
529;12534 |
989552.4542226401 |
176088 |
1 |
tests/test_benchmarks.py::test_fast_uuidv3 |
5.410998710431158e-07 |
3.5570512409321965e-06 |
5.971385425220447e-07 |
1.672736409563351e-07 |
5.526497261598707e-07 |
2.949964255094524e-08 |
4865;6332 |
1674653.248434526 |
83508 |
20 |
tests/test_benchmarks.py::test_uuidv3 |
3.6269775591790676e-06 |
4.193797940388322e-05 |
3.933511159797234e-06 |
1.4521217506191846e-06 |
3.782013664022088e-06 |
6.00120984017849e-08 |
548;4193 |
254225.79455743768 |
53582 |
1 |
tests/test_benchmarks.py::test_fast_uuidv4 |
1.47343598655425e-07 |
2.069187758024782e-06 |
1.6777362874701377e-07 |
7.169360028617447e-08 |
1.5453133528353646e-07 |
8.188180800061673e-09 |
6101;11550 |
5960412.297619802 |
198413 |
32 |
tests/test_benchmarks.py::test_uuidv4 |
2.275977749377489e-06 |
5.939402035437524e-05 |
2.5699563458422217e-06 |
1.316784132061215e-06 |
2.38200300373137e-06 |
1.309963408857584e-07 |
2068;5815 |
389111.667837409 |
85610 |
1 |
tests/test_benchmarks.py::test_fast_uuidv4_bulk_threads |
0.0009843519947025925 |
0.007268004992511123 |
0.0014418828965801719 |
0.0007545185495019851 |
0.0012059269938617945 |
0.0003288870066171512 |
42;54 |
693.5375975204223 |
549 |
1 |
tests/test_benchmarks.py::test_fast_uuidv4_threads |
0.0030693279986735433 |
0.008087011985480785 |
0.004009611603774935 |
0.000715605913448762 |
0.0038650799833703786 |
0.0006588477554032579 |
53;19 |
249.40071478707026 |
273 |
1 |
tests/test_benchmarks.py::test_uuidv4_threads |
0.030999513022834435 |
0.06895541000994854 |
0.040025271589084616 |
0.009975862168373506 |
0.036475206492468715 |
0.008713199000339955 |
3;2 |
24.98421522947798 |
22 |
1 |
tests/test_benchmarks.py::test_fast_uuidv5 |
5.316498572938144e-07 |
4.090600123163313e-06 |
5.890041556925782e-07 |
1.8620985914996815e-07 |
5.419497028924525e-07 |
2.9799412004649576e-08 |
3998;6415 |
1697780.8905680121 |
88921 |
20 |
tests/test_benchmarks.py::test_uuidv5 |
3.7190038710832596e-06 |
5.8079982409253716e-05 |
4.403547300216035e-06 |
2.439066121654033e-06 |
3.910012310370803e-06 |
2.169981598854065e-07 |
2283;4139 |
227089.64655629804 |
57383 |
1 |
自行运行以验证。
缺少什么?
UUIDv1 生成
欢迎提交 Pull Requests。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分布
构建分布
哈希值 for test_fastuuid-0.9.1-cp311-cp311-manylinux_2_34_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ca94a07625f78f54fc1ae4891dd816d9ac455de0b28df01c96316212e76011b3 |
|
MD5 | 4b7c4f934d9f8e0f9886f2cf357e871f |
|
BLAKE2b-256 | e2a67346e86d01fe73c18ce52393f7e46b6aa30ba2e79bdea5af06826d8557a4 |
哈希值 for test_fastuuid-0.9.1-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 735eb618ff149861b65c268edc494d1c94fa8e271e9f72baac73310607aa83ba |
|
MD5 | 6301331509e449dc38a995387356e114 |
|
BLAKE2b-256 | 5c7ddee0673ff7664ccbe18d5c9389264ba1316d875510498e21536affa587d7 |
哈希值 for test_fastuuid-0.9.1-cp310-cp310-manylinux_2_34_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d220837b0d3a2ed692d902511956fb4a35246254d14ef19911a2accb52b40102 |
|
MD5 | bff586ab524d0c5942155dc6c46f1f22 |
|
BLAKE2b-256 | 4963d8fbe8376845be55a3146a44f4fe11f1d6cfc9eef7de3aa258904f135436 |
哈希值 for test_fastuuid-0.9.1-cp310-cp310-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 57b87c5b712ccd86f3ae4cc6b7457d70fe4fbfe6d384911d4368668e2fd21ef4 |
|
MD5 | 3ae3d5915d2f5bc179ac6c12c874bf7a |
|
BLAKE2b-256 | ea52e5aaa468026d91d9b631dee902f5e38422b92b027bd0cfabbd92604db811 |
哈希值 for test_fastuuid-0.9.1-cp39-cp39-manylinux_2_34_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9bb0289ac1f65bd1657fdd7c3fe92a57c2502d3514fce4446bb9bb662b222cab |
|
MD5 | 567df81dac825d35cbfb5e97e91ca70e |
|
BLAKE2b-256 | bf3f7e41acf8cf80f6dc90123fd8fb862cb732ddf1ca65851d3c4c75b004fd49 |
哈希值 for test_fastuuid-0.9.1-cp39-cp39-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6123fc1cdb0fa4fd3a960bc74ba2ce3adde217a0b1cc88a17baf67e9389ad381 |
|
MD5 | 46dbc9eedc9dddef14cff610a19b72cf |
|
BLAKE2b-256 | 536d6d41eac8678d6900e50ca8fc0b49643fa86f07a6b9a4913c2e5b2b13aa5e |
哈希值 for test_fastuuid-0.9.1-cp38-cp38-manylinux_2_34_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2af2fb98c9d033c4ad0e0d00d55b782fd28f9f93de8bd9c12dfb31980c3617d1 |
|
MD5 | 9fa12924c52525b851905570aaa52070 |
|
BLAKE2b-256 | d84dfdb5a1363591ff0404a0a6a738eeeee690740ffd5bc05c7b6ddb50cc5584 |
哈希值 for test_fastuuid-0.9.1-cp38-cp38-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 74df566723b303edd4ea10fd7cb9d29402e93df3129e93e562bff52aab2884d6 |
|
MD5 | d8e245531a9507ef59fcfb28778177fa |
|
BLAKE2b-256 | 1639ae30eb6d91385c0a0470eb9ffe71170a05e79e9ba2bcb2f39d253a3604af |
哈希值 用于 test_fastuuid-0.9.1-cp37-cp37m-manylinux_2_34_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2425fc55917675e4e5c32ca71db39299bc58cbe57963ee30797537a5046461cc |
|
MD5 | c3eedd5999f1964a1aaa6fb0725a3289 |
|
BLAKE2b-256 | e1a75ffaa56c07078b0a9c6789e9b33037ec78ff07bf2f344edf82df81743f9e |