Skip to content

Commit 44564a2

Browse files
committed
Add benchmark against oneflake
1 parent ffa4cd0 commit 44564a2

2 files changed

Lines changed: 24 additions & 0 deletions

File tree

BENCHMARK.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ Naming breakdown:
6464
* ``hjpotter92_sonyflake`` - ``hjpotter92/sonyflake-py``
6565
* ``iyad_f_sonyflake*`` - ``iyad-f/sonyflake``
6666
* ``snowflake_id_toolkit`` - ``pavelprokhorenko/snowflake-id-toolkit``
67+
* ``oneflake`` - ``felipediel/oneflake``
6768
* ``turbo_native*`` - running against ``sonyflake_turbo._sonyflake.SonyFlake``
6869
* ``turbo_pure*`` - running against ``sonyflake_turbo.pure.SonyFlake``
6970
* ``turbo_*_solo`` - solo mode (``next(sf)``, ``await asf``)
@@ -91,6 +92,7 @@ For CPython 3.12.3 on the Intel Xeon E3-1275, results are following (lower %
9192
hjpotter92_sonyflake,1.35s,136.36%
9293
iyad_f_sonyflake,2.48s,250.51%
9394
snowflake_id_toolkit,1.14s,115.15%
95+
oneflake,0.16s,16.16%
9496

9597
.. csv-table:: Async
9698
:header: "Name", "Time", "%"

benchmark.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,26 @@ def snowflake_id_toolkit():
152152
_benchmark("snowflake_id_toolkit", sfs)
153153

154154

155+
def oneflake():
156+
"""pip install oneflake"""
157+
158+
from oneflake import FlakeGenerator
159+
160+
sfs = [
161+
FlakeGenerator(
162+
worker_id=machine_id,
163+
epoch_ms=EPOCH * 1000,
164+
timestamp_bits=39,
165+
worker_bits=16,
166+
sequence_bits=8,
167+
time_unit_ns=10_000_000,
168+
).generate
169+
for machine_id in MACHINE_IDS
170+
]
171+
172+
_benchmark("oneflake", sfs)
173+
174+
155175
def main():
156176
print(platform.python_implementation(), platform.python_version(), file=sys.stderr)
157177
for f in [
@@ -163,6 +183,7 @@ def main():
163183
iyad_f_sonyflake,
164184
iyad_f_sonyflake_async,
165185
snowflake_id_toolkit,
186+
oneflake,
166187
]:
167188
with suppress(ImportError):
168189
f()
@@ -184,3 +205,4 @@ def main():
184205
# iyad_f_sonyflake,2.48
185206
# iyad_f_sonyflake_async,14.07
186207
# snowflake_id_toolkit,1.14
208+
# oneflake,0.16

0 commit comments

Comments
 (0)