Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

v2.0.0

Choose a tag to compare

@MarshalXMarshalX released this 07 Sep 23:41
· 38 commits to main since this release
7f02de7
This commit was created on GitHub.com and signed with GitHub’sverified signature.
GPG key ID:B5690EEEBB952194
Verified
Learn about vigilant mode.

What's Changed

❗ Breaking changes

CID in CAR block keys and CID DAG-CBOR are now in raw byte form instead of stringified one!

  • Encode and decode CID as bytes (major 2) instead of string (major 3) by@MarshalX in#36

⚡ Bunch of new optimizations

🆕 Features

Other

🏎️ Performance comparison. Before (v1.2.3) VS After (v2.0.0):

performance diff
Raw bench results

Before (v1.2.3):

Hello World Decode:===================libipld  : 144 nsHello World Encode:===================libipld  : 150 nsRealistic Decode Tests:=======================canada.json.dagcbor            libipld  : 5.11 ms (197.31 MB/s)citm_catalog.json.dagcbor      libipld  : 3.43 ms (95.31 MB/s)github.json.dagcbor            libipld  : 0.17 ms (270.36 MB/s)twitter.json.dagcbor           libipld  : 2.15 ms (178.96 MB/s)Realistic Decode Car Tests:===========================atproto_repo.car               libipld  : 119.97 ms (154.22 MB/s)Realistic Encode Tests:=======================canada.json.dagcbor            libipld  : 1.19 ms (848.65 MB/s)citm_catalog.json.dagcbor      libipld  : 1.66 ms (196.42 MB/s)github.json.dagcbor            libipld  : 0.11 ms (429.15 MB/s)twitter.json.dagcbor           libipld  : 0.87 ms (443.77 MB/s)

After (v2.0.0):

Hello World Decode:===================libipld  : 124 nsHello World Encode:===================libipld  : 116 nsRealistic Decode Tests:=======================canada.json.dagcbor            libipld  : 4.65 ms (216.57 MB/s)citm_catalog.json.dagcbor      libipld  : 2.96 ms (110.37 MB/s)github.json.dagcbor            libipld  : 0.15 ms (311.00 MB/s)twitter.json.dagcbor           libipld  : 1.75 ms (219.74 MB/s)Realistic Decode Car Tests:===========================atproto_repo.car               libipld  : 92.44 ms (200.13 MB/s)Realistic Encode Tests:=======================canada.json.dagcbor            libipld  : 1.00 ms (1011.47 MB/s)citm_catalog.json.dagcbor      libipld  : 1.60 ms (203.57 MB/s)github.json.dagcbor            libipld  : 0.06 ms (733.96 MB/s)twitter.json.dagcbor           libipld  : 0.56 ms (686.31 MB/s)

Test stand: M1 Pro, Python 3.12.

I highly recommend using Python 3.12. The lower version will be slower.

P.S. Breaking change not only gives a performance boost but also aligns implementations with other languages.

Full Changelog:v1.2.3...v2.0.0

Contributors

  • @MarshalX
MarshalX
Assets2
Loading
snarfed reacted with thumbs up emojisnarfed reacted with hooray emoji
1 person reacted

[8]ページ先頭

©2009-2025 Movatter.jp