Skip to content

Optimize pickle.dumps/loads(), using to_bytes/from_bytes()#80

Merged
skirpichev merged 1 commit intodiofant:masterfrom
skirpichev:optimize-pickle/15
Dec 14, 2024
Merged

Optimize pickle.dumps/loads(), using to_bytes/from_bytes()#80
skirpichev merged 1 commit intodiofant:masterfrom
skirpichev:optimize-pickle/15

Conversation

@skirpichev
Copy link
Copy Markdown
Member

@skirpichev skirpichev commented Dec 13, 2024

Closes #15

@skirpichev

This comment was marked as outdated.

@skirpichev skirpichev marked this pull request as draft December 13, 2024 12:44
@skirpichev
Copy link
Copy Markdown
Member Author

Benchmark master patch
pickle.dumps(mpz(10**1 )) 22.5 us 22.7 us: 1.01x slower
pickle.dumps(mpz(10**100 )) 23.0 us 22.8 us: 1.01x faster
pickle.dumps(mpz(10**1000 )) 26.6 us 23.8 us: 1.12x faster
pickle.dumps(mpz(10**10000 )) 58.8 us 35.4 us: 1.66x faster
pickle.dumps(mpz(10**100000 )) 365 us 136 us: 2.69x faster
pickle.dumps(mpz(10**1000000)) 6.28 ms 1.36 ms: 4.61x faster
Geometric mean (ref) 1.57x faster

Benchmark hidden because not significant (1): pickle.dumps(mpz(10**10 ))

@skirpichev skirpichev marked this pull request as ready for review December 13, 2024 16:38
@skirpichev skirpichev merged commit 7197ef7 into diofant:master Dec 14, 2024
@skirpichev skirpichev deleted the optimize-pickle/15 branch December 14, 2024 01:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Optimize (de-)serialization for mpz

1 participant